Overview
| Comment: | merge merge-dirty-tree: merge into a dirty working tree (#135) |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
944ee007fe2704264deb76eee9c3662f |
| User & Date: | dmestas on 2026-08-24 16:08:58.903 |
| Other Links: | manifest | tags |
Context
|
2026-08-24
| ||
| 16:50 | merge index-borrow-143: adopted index entries slice the blob (#143) check-in: 3c3f936632 user: dmestas tags: trunk | |
| 16:08 | merge merge-dirty-tree: merge into a dirty working tree (#135) check-in: 944ee007fe user: dmestas tags: trunk | |
| 15:17 |
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. closed check-in: 0627425be0 user: dmestas tags: merge-dirty-tree | |
| 14:47 | merge readpath-141: diff and artifact read through the image path (#141) check-in: 9bcc83b530 user: dmestas tags: trunk | |
Changes
Modified src/cmd/checkout.zig
from [2a486e440b]
to [cb9a4b751d].
[diff]
Modified src/e2e.zig
from [89718a0c80]
to [e1c98f3931].
[diff]
Modified src/main.zig
from [804ab73ae9]
to [cb82e00004].
[diff]
Modified src/update.zig
from [842be741c5]
to [32c263a6b5].
[diff]
Modified www/reference.html
from [6b1704a9cd]
to [74b0cfd238].
[diff]