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:
parent
85e51b783c
commit
e3cba962b1
@ -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…
Reference in New Issue
Block a user