spool fetches - #2
Merged
Merged
Conversation
twill grew run(program, argv, dir) -> Res[Str, Str], so git() is one line and the status-byte encoding docs/needs.md entry 10 called the ugliest thing in spool is gone from its last hiding place. Verified by fetching rather than by reading the builtin list: against a git repository tagged v1.2.0, install clones it, resolves the constraint, vendors the package into twill_modules/ and writes a spool.lock with the commit and the content hash. published_versions now answers a Res. A repository that clones and carries no readable tag publishes no versions; one that cannot be reached at all -- no git on PATH, TWILL_NO_EXEC set, a URL nobody can clone -- is a different failure, and folding both into an empty list made spool report the local problem as the repository's.
Same coupling as warp: run is not in a twill release, so CI's pinned v1.7.1 fails at twill check. The pin moves when the release exists.
run is in a release now, so CI installs v1.8.0, spool.toml asks for ^1.8.0, and the paragraph saying this code needs an unreleased compiler goes with them.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
docs/needs.mdentry 1 was the last open item on that list: a package manager fetches by runninggit clone,git rev-listandgit checkout, and twill had no way to start a program, sosrc/vendor.twcalled arunthat did not exist. twill 1.8.0 has it — twill-lang/twill#20, released asv1.8.0— with the signature that entry asked for.git()is one line now. It used to unwrap a status byte the oldrunput in front of its output, because the language could not return two values; entry 10 called that the ugliest thing in spool and this was its last hiding place.Verified by fetching, not by reading the builtin list. Against a git repository tagged
v1.2.0,spool installclones it, resolves the constraint, vendors the package intotwill_modules/and writes aspool.lockcarrying the commit and the content hash.published_versionsnow answers aRes. A repository that clones and carries no readable tag publishes no versions; one that cannot be reached at all — nogiton PATH,TWILL_NO_EXECset, a URL nobody can clone — is a different failure, and folding both into an empty list made spool report the local problem as the repository's. WithTWILL_NO_EXEC=1it now saysrun: refused to start "git" because TWILL_NO_EXEC is setinstead of "publishes no version tags".CI and
spool.tomlboth move to 1.8.0 in the second commit.🤖 Generated with Claude Code