Artifact 32c263a6b58eadae583eae16bad368b0f41e03ea39c52c6fab9b514eda1060f9:
- File
src/update.zig
-
2026-08-24 15:17:04
— part of check-in
[0627425be0]
on branch merge-dirty-tree
— merge: merge into a dirty working tree instead of refusing it
The current side becomes the working tree, so a divergent path compares what the operator actually has rather than what the check-in says is on disk -- which is the disagreement B-merge-14 existed to avoid. A clean tree scans to no divergences and every side reads from the store exactly as before.
Rollback needs no new machinery: captureMergeImages already reads the worktree, so an abandoned merge restores the uncommitted bytes.
Also adds the fault-injection coverage the carried update path was missing: a carried update that fails mid-apply must restore the WORKING bytes, not the check-in's. Verified by mutation -- breaking the baseline overlay fails both tests. (user: dmestas, size: 203684) [annotate] [blame] [check-ins using]
- 2026-08-24 16:08:58 — part of check-in [944ee007fe] on branch trunk — merge merge-dirty-tree: merge into a dirty working tree (#135) (user: dmestas, size: 203684) [annotate] [blame] [check-ins using]
-
2026-08-24 15:17:04
— part of check-in
[0627425be0]
on branch merge-dirty-tree
— merge: merge into a dirty working tree instead of refusing it