Merge branch 'jk/merge-tree-added-identically'
authorJunio C Hamano <gitster@pobox.com>
Sun, 28 Apr 2013 18:53:57 +0000 (11:53 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 28 Apr 2013 18:53:57 +0000 (11:53 -0700)
off-by-one fix.

* jk/merge-tree-added-identically:
merge-tree: fix typo in "both changed identically"

builtin/merge-tree.c
t/t4300-merge-tree.sh
index ed25d81b880eb830481d4e729d7e9acc3266de65..ec49917a3686233548afb0f959208e2561fc1374 100644 (file)
@@ -302,7 +302,7 @@ static void unresolved(const struct traverse_info *info, struct name_entry n[3])
 static int threeway_callback(int n, unsigned long mask, unsigned long dirmask, struct name_entry *entry, struct traverse_info *info)
 {
        /* Same in both? */
-       if (same_entry(entry+1, entry+2) || both_empty(entry+0, entry+2)) {
+       if (same_entry(entry+1, entry+2) || both_empty(entry+1, entry+2)) {
                /* Modified, added or removed identically */
                resolve(info, NULL, entry+1);
                return mask;
index bd43b3d8ef8b3e71f6985cfa96a940dccb4a0a54..2defb422e8813c1ca314939aedba1d33c40dd388 100755 (executable)
@@ -205,6 +205,19 @@ EXPECTED
        test_cmp expected actual
 '
 
+test_expect_success 'file remove A, B (same)' '
+       cat >expected <<\EXPECTED &&
+EXPECTED
+
+       git reset --hard initial &&
+       test_commit "rm-a-b-base" "ONE" "AAA" &&
+       git rm ONE &&
+       git commit -m "rm-a-b" &&
+       git tag "rm-a-b" &&
+       git merge-tree rm-a-b-base rm-a-b rm-a-b >actual &&
+       test_cmp expected actual
+'
+
 test_expect_success 'file change A, remove B' '
        cat >expected <<\EXPECTED &&
 removed in remote