Changes touching this path

  • a loot new refused by the moved-position check and then run again leaves its change one live version, so the divergence tnlrmsmo feared does not happen and no code changes: the refused save does leave its signed node in the shared graph, since the shared half merges and goes first (kkpruryt), and a retry after another command captured a further edit signs a second node under the same change id, but a load keeps what its heads reach (ADR 0022) and no head reaches the node the refusal left, so neither the retry nor a fresh open reads the change as divergent. a version id hashes its author, message, parents, tree and predecessors, and neither its signature nor its authored_at, so a retry over unchanged inputs signs the version id the refusal left. pinned: a_refused_finalize_and_its_retry_leave_one_live_version in loot-cli, which also splices the left node in by its id to show that reachability is what keeps it out. red under named mutations, each restored, 0 passed and 1 failed each time: a load that derives its heads from the whole pool rather than its heads file (the retry reads the change as divergent), both moved checks off (the finalize is not refused), and the moved checks run before the shared save (no node is left in the shared graph); the position check off alone stays green, since the draft check refuses the same finalize. cargo test green, 4882 passed over 145 test result lines with 15 ignored. a test only; owes no deploy (tnlrmsmo) c2d2b3ee · dbf3dbe6…

Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.