Code

t6023: merge-file fails to output anything for a degenerate merge
authorCharles Bailey <charles@hashpling.org>
Mon, 25 May 2009 00:21:13 +0000 (01:21 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 25 May 2009 06:46:03 +0000 (23:46 -0700)
In the case that merge-file is passed three files with identical
contents it wipes the contents of the output file instead of
leaving it unchanged.

Althought merge-file is porcelain and this will never happen in
normal usage, it is still wrong.

Signed-off-by: Charles Bailey <charles@hashpling.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t6023-merge-file.sh

index f674c48cab3e80d63b5a5831c667b8e08b542905..19556350b505fe67d8581f302ba970c02e961a21 100755 (executable)
@@ -54,6 +54,12 @@ deduxit me super semitas jusitiae,
 EOF
 printf "propter nomen suum." >> new4.txt
 
+test_expect_failure 'merge with no changes' '
+       cp orig.txt test.txt &&
+       git merge-file test.txt orig.txt orig.txt &&
+       test_cmp test.txt orig.txt
+'
+
 cp new1.txt test.txt
 test_expect_success "merge without conflict" \
        "git merge-file test.txt orig.txt new2.txt"