t6032: Add a test checking for excessive output from merge
Previous D/F fixes I submitted (5a2580d and ae74548) had caused merge to become excessively spammy, which was fixed in 96ecac6 (merge-recursive: Avoid excessive output for and reprocessing of renames 2010-08-20). Add a new test to avoid repeating that mistake with my several upcoming changes. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Elijah Newren committed
Sep 20, 2010 at 02:28 UTC
df0b99f00458dd0d442b17d78dd4c171a89f7bb2
1 file changed
+30
t/t6032-merge-large-rename.sh
+30
@@ -70,4 +70,34 @@ test_expect_success 'set merge.renamelimit to 5' '
70
test_rename 5 ok
71
test_rename 6 fail
72
73
+test_expect_success 'setup large simple rename' '
74
+ git config --unset merge.renamelimit &&
75
+ git config --unset diff.renamelimit &&
76
+
77
+ git reset --hard initial &&
78
+ for i in $(count 200); do
79
+ make_text foo bar baz >$i
80
+ done &&
81
+ git add . &&
82
+ git commit -m create-files &&
83
+
84
+ git branch simple-change &&
85
+ git checkout -b simple-rename &&
86
+
87
+ mkdir builtin &&
88
+ git mv [0-9]* builtin/ &&
89
+ git commit -m renamed &&
90
+
91
+ git checkout simple-change &&
92
+ >unrelated-change &&
93
+ git add unrelated-change &&
94
+ git commit -m unrelated-change
95
+'
96
+
97
+test_expect_success 'massive simple rename does not spam added files' '
98
+ unset GIT_MERGE_VERBOSITY &&
99
+ git merge --no-stat simple-rename | grep -v Removing >output &&
100
+ test 5 -gt "$(wc -l < output)"
101
+'
102
+
103
test_done