Two known gaps, both flagged as follow-up work in LFS-IPFS.md: `rad unseed` unconditionally unpinned every CID a repository's LFS notes referenced. Two repositories that happen to track byte-identical file content get the same content-addressed CID, so unseeding one could silently evict content another still-seeded repository needed -- that repo's next `git lfs fetch` would then fail with no obvious cause. Fixed by checking every other currently-seeded repository's own LFS notes before unpinning, and skipping any CID still referenced elsewhere. No persistent refcount is kept anywhere; this recomputes the still-needed set from git-notes each time, consistent with the rest of this design treating notes as the single source of truth rather than maintaining separate bookkeeping that could drift out of sync. `rad lfs backfill` retroactively pins any LFS-tracked file at HEAD that doesn't yet have a note -- the situation a `--no-verify` commit or a commit made while `ipfs`/`rad` weren't on `PATH` leaves behind (the pre-commit hook soft-skips pinning in the latter case rather than blocking the commit entirely). Content is read from Git LFS's own local object cache (populated by the clean filter on `git add` regardless of whether the hook ran), falling back to the working-tree file. Reports what it backfilled, what already had a note, and what it couldn't find content for locally (meaning some other peer that does have it needs to run this instead). |
||
|---|---|---|
| .. | ||
| examples | ||
| src | ||
| tests | ||
| CHANGELOG.md | ||
| Cargo.toml | ||
| build.rs | ||