Bug Fixes
-
don't remove a directory when removing the file it replaced during tree merges
One side of a merge can delete or rename away the filea/band fill a new directory
a/b/purely through renames. Rename tracking reports those renames before the unpaired
deletion (or the rename away) ofa/b, so the tree editor receiveda/b/gfirst and then
removeda/b, dropping the whole new directory. The merge reported success, and the result
silently lost every file undera/b/. It happened in both merge directions, whether or not
the other side changed anything, and inside virtual merge bases, where it turned later edits
belowa/b/into add/add conflicts.Every removal in the tree merge now goes through
Editor::remove_leaf()and leaves a tree at
the removed path in place, since tree changes are never applied directly and the leaf changes
below a tree carry every update to it. Three baselines cover a deletion and a rename of the
replaced file, the latter with the other side's edit following the rename, and the shape
with two merge bases. Git 2.51.0merge-treekeepsa/b/in all of them.
Commit Statistics
- 11 commits contributed to the release over the course of 13 calendar days.
- 13 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Prepare changelogs prior to release (794eeef)
- Merge pull request #3032 from GitoxideLabs/sec-audit (1d7bac7)
- Use
bstrhelpers for byte substring searches (21b210a) - Merge pull request #3033 from GitoxideLabs/gix-cli-progress-cleanup (80f4b03)
- Merge pull request #3022 from GitoxideLabs/release-testtools (f819565)
- Merge pull request #3027 from cruessler/remove-sha-1-default-in-pipeline (06b0098)
- Merge pull request #3024 from goldjacobe/fix-tree-merge-keep-dir-on-leaf-removal (3f1ef3a)
- Review (9ef2352)
- Don't remove a directory when removing the file it replaced during tree merges (18f476c)
- Merge pull request #3020 from GitoxideLabs/report-september (5fb3dcf)
- Fix CI (b3080a6)