aboutsummaryrefslogtreecommitdiff
path: root/t/t4300-merge-tree.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-12-13 15:51:29 -0800
committerJunio C Hamano <gitster@pobox.com>2012-12-26 14:46:15 -0800
commit35ffe7583108ab236dcf81226690388491d9962f (patch)
tree7e10e89e49f8c7184486d965d3544d515afa389b /t/t4300-merge-tree.sh
parent8dd15c6a909c059c6fd4f4dd914dbf932617ea57 (diff)
downloadgit-35ffe7583108ab236dcf81226690388491d9962f.tar.gz
git-35ffe7583108ab236dcf81226690388491d9962f.tar.xz
merge-tree: fix d/f conflicts
The previous commit documented two known breakages revolving around a case where one side flips a tree into a blob (or vice versa), where the original code simply gets confused and feeds a mixture of trees and blobs into either the recursive merge-tree (and recursing into the blob will fail) or three-way merge (and merging tree contents together with blobs will fail). Fix it by feeding trees (and only trees) into the recursive merge-tree machinery and blobs (and only blobs) into the three-way content level merge machinery separately; when this happens, the entire merge has to be marked as conflicting at the structure level. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4300-merge-tree.sh')
-rwxr-xr-xt/t4300-merge-tree.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/t/t4300-merge-tree.sh b/t/t4300-merge-tree.sh
index 03e8fcad3..d0b2a457b 100755
--- a/t/t4300-merge-tree.sh
+++ b/t/t4300-merge-tree.sh
@@ -254,7 +254,7 @@ EXPECTED
test_cmp expected actual
'
-test_expect_failure 'turn file to tree' '
+test_expect_success 'turn file to tree' '
git reset --hard initial &&
rm initial-file &&
mkdir initial-file &&
@@ -274,7 +274,7 @@ test_expect_failure 'turn file to tree' '
test_cmp expect actual
'
-test_expect_failure 'turn tree to file' '
+test_expect_success 'turn tree to file' '
git reset --hard initial &&
mkdir dir &&
test_commit "add-tree" "dir/path" "AAA" &&