Skip to content

Unpacked library sources: named by checksum, not only version - #29

Merged
dmjio merged 1 commit into
mainfrom
bundled-source-by-checksum
Oct 23, 2026
Merged

dmjio merged 1 commit into
mainfrom
bundled-source-by-checksum

Conversation

@dmjio

@dmjio dmjio commented Oct 23, 2026

Copy link
Copy Markdown
Member

The bug: the source of a library that comes with the tool (and the release's miso) was unpacked in $MISO_HOME/src/bundled/mhs-VERSION/NAME-VERSION, and reused whenever that folder existed. But src/ survives an upgrade, and a new release can ship different source for the same version: miso at another commit, still 1.14.0.0. After such an upgrade, the old source was:

  • built: and stored under the new commit's ID, so every later project reused it from the store,
  • read: for its dependencies,
  • copied: by miso vendor.

The fix: the folder name now ends with the first 16 hex digits of the tarball's sha256.

Checked with a test program and two miso-1.14.0.0 tarballs with different contents (commit X, then commit Y, as after an upgrade):

  • Before: both returned commit X's source.
  • After: the second returns commit Y's.

Generated by Claude Code

… version

The source of a library that comes with the tool (and the release's miso)
was unpacked in $MISO_HOME/src/bundled/mhs-VERSION/NAME-VERSION, and reused
when that was there.  src/ outlives an upgrade, and a new release can ship
another source of the same version: miso at another commit, still
1.14.0.0.  Then the old source was used: built (and stored under the new
commit's ID, so later projects reused it from the store), read for its
dependencies, and copied by miso vendor.

The folder name now ends with the first 16 hex digits of the tarball's
sha256.

Checked with a test program and two tarballs of miso-1.14.0.0 with
different contents (commit X, then commit Y, as after an upgrade): before,
both gave commit X's source; now the second gives commit Y's.
@dmjio
dmjio merged commit 1bc86bb into main Oct 23, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant