aboutsummaryrefslogtreecommitdiff
path: root/t/t6029-merge-subtree.sh
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@frugalware.org>2008-02-28 13:36:54 +0100
committerJunio C Hamano <gitster@pobox.com>2008-02-29 00:00:29 -0800
commit419e38337a4ff66ae2968756cc46c1bf77074814 (patch)
tree253cb6290ab2f747dc96763752096f3b8cf15a65 /t/t6029-merge-subtree.sh
parent39fe578bdcc318308bc5d75efa04bd4bfc3a4f23 (diff)
downloadgit-419e38337a4ff66ae2968756cc46c1bf77074814.tar.gz
git-419e38337a4ff66ae2968756cc46c1bf77074814.tar.xz
Improve t6029 to check the real "subtree" case
t6029 already checks if subtree available and works like recursive. This patch adds code to test test the extra functionality the subtree merge strategy provides. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t6029-merge-subtree.sh')
-rwxr-xr-xt/t6029-merge-subtree.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/t/t6029-merge-subtree.sh b/t/t6029-merge-subtree.sh
index 3900a0508..35d66e804 100755
--- a/t/t6029-merge-subtree.sh
+++ b/t/t6029-merge-subtree.sh
@@ -29,4 +29,51 @@ test_expect_success 'subtree available and works like recursive' '
'
+test_expect_success 'setup' '
+ mkdir git-gui &&
+ cd git-gui &&
+ git init &&
+ echo git-gui > git-gui.sh &&
+ o1=$(git hash-object git-gui.sh) &&
+ git add git-gui.sh &&
+ git commit -m "initial git-gui" &&
+ cd .. &&
+ mkdir git &&
+ cd git &&
+ git init &&
+ echo git >git.c &&
+ o2=$(git hash-object git.c) &&
+ git add git.c &&
+ git commit -m "initial git"
+'
+
+test_expect_success 'initial merge' '
+ git remote add -f gui ../git-gui &&
+ 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 ls-files -s >actual &&
+ (
+ echo "100644 $o1 0 git-gui/git-gui.sh"
+ echo "100644 $o2 0 git.c"
+ ) >expected &&
+ git diff -u expected actual
+'
+
+test_expect_success 'merge update' '
+ cd ../git-gui &&
+ echo git-gui2 > git-gui.sh &&
+ o3=$(git hash-object git-gui.sh) &&
+ git add git-gui.sh &&
+ git commit -m "update git-gui" &&
+ cd ../git &&
+ git pull -s subtree gui master &&
+ git ls-files -s >actual &&
+ (
+ echo "100644 $o3 0 git-gui/git-gui.sh"
+ echo "100644 $o2 0 git.c"
+ ) >expected &&
+ git diff -u expected actual
+'
+
test_done