t3034: test option to disable renames

Signed-off-by: Felipe Gonçalves Assis <felipegassis@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Felipe Gonçalves Assis committed Feb 23, 2016 at 22:41 UTC 2307211349e6fe83e3574c2e1a03bb34c24ed1b9
1 file changed +28
t/t3034-merge-recursive-rename-options.sh
+28
@@ -83,6 +83,14 @@ check_exact_renames () {
83 rename_detected 3
84 }
85
86 +check_no_renames () {
87 + check_common &&
88 + rename_undetected 0 &&
89 + rename_undetected 1 &&
90 + rename_undetected 2 &&
91 + rename_undetected 3
92 +}
93 +
94 test_expect_success 'setup repo' '
95 cat <<-\EOF >3-old &&
96 33a
@@ -195,6 +203,12 @@ test_expect_success 'rename threshold is truncated' '
203 check_exact_renames
204 '
205
206 +test_expect_success 'disabled rename detection' '
207 + git read-tree --reset -u HEAD &&
208 + git merge-recursive --no-renames $tail &&
209 + check_no_renames
210 +'
211 +
212 test_expect_success 'last wins in --find-renames=<m> --find-renames=<n>' '
213 git read-tree --reset -u HEAD &&
214 test_must_fail git merge-recursive \
@@ -209,6 +223,18 @@ test_expect_success '--find-renames resets threshold' '
223 $check_50
224 '
225
226 +test_expect_success 'last wins in --no-renames --find-renames' '
227 + git read-tree --reset -u HEAD &&
228 + test_must_fail git merge-recursive --no-renames --find-renames $tail &&
229 + $check_50
230 +'
231 +
232 +test_expect_success 'last wins in --find-renames --no-renames' '
233 + git read-tree --reset -u HEAD &&
234 + git merge-recursive --find-renames --no-renames $tail &&
235 + check_no_renames
236 +'
237 +
238 test_expect_success 'assumption for further tests: trivial merge succeeds' '
239 git read-tree --reset -u HEAD &&
240 git merge-recursive HEAD -- HEAD HEAD &&
@@ -218,6 +244,8 @@ test_expect_success 'assumption for further tests: trivial merge succeeds' '
244 git merge-recursive --find-renames=$th2 HEAD -- HEAD HEAD &&
245 git diff --quiet --cached &&
246 git merge-recursive --find-renames=100% HEAD -- HEAD HEAD &&
247 + git diff --quiet --cached &&
248 + git merge-recursive --no-renames HEAD -- HEAD HEAD &&
249 git diff --quiet --cached
250 '
251