Skip to content

Worktree 0.5.0

Choose a tag to compare

@b10x-bot b10x-bot released this 22 Sep 23:26
· 140 commits to main since this release

Worktree 0.5.0 lets cleanup prove that rebased or cherry-picked work is on the remote.

  • GC, reconciliation and inspect --refresh accept 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 --verbatim over --binary patches) for every commit no advertised ref holds, and Git's rev-list --cherry-pick must 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_evidence is 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.