Extend merge-subtree tests to test -Xsubtree=dir.

This tests the configurable -Xsubtree feature of merge-recursive.

Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Avery Pennarun 2009-11-25 21:23:59 -05:00 committed by Junio C Hamano
parent 85e51b783c
commit e3cba962b1

View file

@ -52,6 +52,7 @@ test_expect_success 'initial merge' '
git merge -s ours --no-commit gui/master &&
git read-tree --prefix=git-gui/ -u gui/master &&
git commit -m "Merge git-gui as our subdirectory" &&
git checkout -b work &&
git ls-files -s >actual &&
(
echo "100644 $o1 0 git-gui/git-gui.sh"
@ -65,9 +66,10 @@ test_expect_success 'merge update' '
echo git-gui2 > git-gui.sh &&
o3=$(git hash-object git-gui.sh) &&
git add git-gui.sh &&
git checkout -b master2 &&
git commit -m "update git-gui" &&
cd ../git &&
git pull -s subtree gui master &&
git pull -s subtree gui master2 &&
git ls-files -s >actual &&
(
echo "100644 $o3 0 git-gui/git-gui.sh"
@ -76,4 +78,47 @@ test_expect_success 'merge update' '
test_cmp expected actual
'
test_expect_success 'initial ambiguous subtree' '
cd ../git &&
git reset --hard master &&
git checkout -b master2 &&
git merge -s ours --no-commit gui/master &&
git read-tree --prefix=git-gui2/ -u gui/master &&
git commit -m "Merge git-gui2 as our subdirectory" &&
git checkout -b work2 &&
git ls-files -s >actual &&
(
echo "100644 $o1 0 git-gui/git-gui.sh"
echo "100644 $o1 0 git-gui2/git-gui.sh"
echo "100644 $o2 0 git.c"
) >expected &&
test_cmp expected actual
'
test_expect_success 'merge using explicit' '
cd ../git &&
git reset --hard master2 &&
git pull -Xsubtree=git-gui gui master2 &&
git ls-files -s >actual &&
(
echo "100644 $o3 0 git-gui/git-gui.sh"
echo "100644 $o1 0 git-gui2/git-gui.sh"
echo "100644 $o2 0 git.c"
) >expected &&
test_cmp expected actual
'
test_expect_success 'merge2 using explicit' '
cd ../git &&
git reset --hard master2 &&
git pull -Xsubtree=git-gui2 gui master2 &&
git ls-files -s >actual &&
(
echo "100644 $o1 0 git-gui/git-gui.sh"
echo "100644 $o3 0 git-gui2/git-gui.sh"
echo "100644 $o2 0 git.c"
) >expected &&
test_cmp expected actual
'
test_done