Parents and children of check-in [7fcc9b5ee1]
|
2026-08-24
| ||
| 11:27 | merge update-dirty-tree-135: carry uncommitted work across the move (#135) check-in: 5f6402dd84 user: dmestas tags: trunk | |
| 10:16 |
update: carry uncommitted work across the move instead of refusing it
A dirty tree is now three-way merged (current check-in, working file, target) rather than rejected, so a branch tip that advanced under uncommitted work can be joined. Previously update, merge and stash all refused that state, leaving commit --allow-fork as the only exit -- the guard that keeps forks deliberate was manufacturing them. The fork guard itself is unchanged. applyCheckinWith scans the tree once and calls back for the merge policy; handing carries in instead would scan every clean update twice, which cost a 20k-file no-op update 63%. Paths that cannot merge either way (type change, edited here / deleted there) are named and refused before anything mutates. Fixes #135 closed check-in: 7fcc9b5ee1 user: dmestas tags: update-dirty-tree-135 | |
| 02:26 | merge merge-probe: mergeability for a caller-named pair (#134) check-in: 83734fcc3d user: dmestas tags: trunk | |