Browse Source

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>
maint
Avery Pennarun 15 years ago committed by Junio C Hamano
parent
commit
e3cba962b1
  1. 47
      t/t6029-merge-subtree.sh

47
t/t6029-merge-subtree.sh

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

Loading…
Cancel
Save