[PATCHv3 0/6] D/F conflict fixes
From: <hidden>
Date: 2016-06-15 22:49:05
This patch series fixes a number of spurious directory/file conflicts
and associated bugs appearing in cherry-pick, rebase, merge, and
fast-export. It also has a minor robustness improvement for
fast-import. This series includes testsuite fixes for currently known
failures in both t6020-merge-df.sh and t6035-merge-dir-to-symlink.sh.
The right person to review most the changes (all but the trivial
fast-import change that Shawn already commented on, modulo one minor new
change) is probably Dscho. In his absence, the next most logical
reviewer as far as I can tell is probably Junio or perhaps Shawn. I
hate to overwork them even more, so if anyone else has some time to take
a look or even do some simple testing, it'd be much appreciated.
Changes since the previous submission:
* Added a new patch (5/6) fixing fast-export -- Shawn pointed out
in the previous round that the bug I attributed to fast-import was
actually a fast-export issue
* Modified the fast-import patch (6/6) to note that it was just a
robustness improvement rather than bugfix, and extended the patch to
also handle regular files in addition to symlinks
Alexander Gladysh (1):
Add a rename + D/F conflict testcase
Elijah Newren (5):
Add additional testcases for D/F conflicts
merge-recursive: Fix D/F conflicts
merge_recursive: Fix renames across paths below D/F conflicts
fast-export: Fix output order of D/F changes
fast-import: Improve robustness when D->F changes provided in wrong order
builtin/fast-export.c | 1 +
diff.h | 1 +
fast-import.c | 7 +++
merge-recursive.c | 106 ++++++++++++++++++++++++++++++++-------
t/t3508-cherry-pick-merge-df.sh | 34 ++++++++++++
t/t6020-merge-df.sh | 2 +-
t/t6035-merge-dir-to-symlink.sh | 37 +++++++++++++-
t/t9350-fast-export.sh | 24 +++++++++
tree-diff.c | 4 +-
9 files changed, 194 insertions(+), 22 deletions(-)