feat(package): resolve archive: sources #329
Loading…
Reference in a new issue
No description provided.
Delete branch "loop/27-archive-sources"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Resolves
source "<name>", archive: "<url>", hash: "sha256:..."(scope as rescoped in #27;git:is #322).file:URL relative to the workspace root (like afile:registry), any other one through the curl/wget path offetch.trb, without mirrors.unpacked), refused unless the tree hash is the pinnedhash:(the error names both), installed into the content-addressed cache under that hash. A warm cache never fetches again;--offlinewith a cold cache says the archive would have to be fetched.project.trbmust name the package of thesourceline; its dependencies join the resolution like apath:package's.package "<name>", archive: "<url>", hash: "sha256:..."- afile:URL as written, any other as canonicalUritext. Additive row, no lock language bump; old locks read unchanged.lock --checkaccept it; a row thesourceline no longer matches, or that nosourceline names, is reported withrun torb update.vendorleaves archive packages in place,auditskips them,publishrefuses a package that depends on one.compiler/tests/packages.test.trb(lock round trip,isTreeHash, workspace from cache, mismatch and stale rows,file:fetch, offline) andaudit.test.trb; e2e intools/packages.shwith thetests/packages/archive-appfixture (success, wrong hash, wrong name, offline from cache, cold-cache offline error) against a localfile:archive, no network.The new part of
tests/packages/transcript.expectedwas written by hand (no local toolchain build); it is corrected from the CI diff where it differs.Closes #27
Checklist at
f8f41d4(CI combined status: success):isTreeHashbefore it becomes a cache directory name (no path escape); the archive is unpacked with the registry's checks and refused unless the tree hash matches; a warm cache never fetches; --offline with a cold cache fails with a clear message; the package name is checked against the archive's project.trb; stale/unnamed lock rows reportrun torb update; vendor/audit skip and publish refuses archive deps.Non-blocking: none.
git:andarchive:sources #27