Repository navigation
Worktree 0.5.0
Worktree 0.5.0 lets cleanup prove that rebased or cherry-picked work is on the remote.
- GC, reconciliation and
inspect --refreshaccept a second recovery proof kind,patch-equivalent. When no advertised ref contains the exact HEAD, one advertised ref must carry a whitespace-exact identical patch (git patch-id --verbatimover--binarypatches) for every commit no advertised ref holds, and Git'srev-list --cherry-pickmust agree. A unique root, merge or empty commit defeats the proof. Ancestry proof is unchanged and tried first; the final pre-removal observation repeats both. - Reconciliation can abandon a missing record whose commit is provably gone:
reconcile --apply --id <reviewed-id> --acknowledge-unrecoverable <commit>. It refuses while any ref or remote advertisement still contains that commit and deletes nothing. GitPort::recovery_evidenceis new; its default reports ancestry, so existing embedded ports compile unchanged.- Lockfile refreshed: 19 packages to the latest Rust 1.85-compatible releases.
Wire change. Non-hook CLI JSON is protocol 3, reconciliation JSON is 3 and inspection reports are worktree.inspection/2. Recovery proof gains kind (ancestor or patch-equivalent) and equivalent_commits. Stored proofs without them decode as ancestry proof. Hook protocol 1 and configuration/workspace-policy 1 are unchanged. Consumers that pin version == 2 must accept 3.
Install: cargo install --git https://github.com/beyond10x/worktree --tag 0.5.0 b10x-worktree-cli
Validation: task check passed on this commit (fmt, Clippy -D warnings, 88 tests, generated-skill check). Required checks gate and common / Security and privacy passed on PR #8 for this exact commit.