[PATCHv3 2/3] t6022: New test checking for unnecessary updates of files in D/F conflicts
Signed-off-by: Elijah Newren <newren@gmail.com>
Acked-by: Jeff King <peff@peff.net>
---
t/t6022-merge-rename.sh | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/t/t6022-merge-rename.sh b/t/t6022-merge-rename.sh
index 16330a6..88cc410 100755
--- a/t/t6022-merge-rename.sh
+++ b/t/t6022-merge-rename.sh
@@ -640,4 +640,38 @@ test_expect_failure 'avoid unnecessary update, normal rename' '
test_cmp expect actual
'
+test_expect_success 'setup avoid unnecessary update, with D/F conflict' '
+ git reset --hard &&
+ git checkout --orphan avoid-unnecessary-update-2 &&
+ git rm -rf . &&
+ git clean -fdqx &&
+
+ mkdir df &&
+ printf "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n" >df/file &&
+ git add -A &&
+ git commit -m "Common commmit" &&
+
+ git mv df/file temp &&
+ rm -rf df &&
+ git mv temp df &&
+ echo 11 >>df &&
+ git add -u &&
+ git commit -m "Renamed and modified" &&
+
+ git checkout -b merge-branch-2 HEAD~1 &&
+ >unrelated-change &&
+ git add unrelated-change &&
+ git commit -m "Only unrelated changes"
+'
+
+test_expect_failure 'avoid unnecessary update, with D/F conflict' '
+ git checkout -q avoid-unnecessary-update-2^0 &&
+ test-chmtime =1 rename &&
+ test-chmtime -v +0 rename >expect &&
+ git merge merge-branch-2 &&
+ git diff-files --exit-code && # Is "rename" clean, or stat dirty?
+ test-chmtime -v +0 rename >actual &&
+ test_cmp expect actual
+'
+
test_done
--
1.7.4