Skip to content

Commit

Permalink
tests: add a testcase for "git submodule sync"
Browse files Browse the repository at this point in the history
This testcase ensures that upstream changes to submodule properties
can be updated using the sync subcommand.  This particular test
changes the submodule URL upstream and uses the sync command to update
an existing checkout.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  • Loading branch information
David Aguilar authored and Shawn O. Pearce committed Oct 3, 2008
1 parent bf8f2ad commit 52e8370
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions t/t7403-submodule-sync.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#!/bin/sh
#
# Copyright (c) 2008 David Aguilar
#

test_description='git submodule sync
These tests exercise the "git submodule sync" subcommand.
'

. ./test-lib.sh

test_expect_success setup '
echo file > file &&
git add file &&
test_tick &&
git commit -m upstream
git clone . super &&
git clone super submodule &&
(cd super &&
git submodule add ../submodule submodule &&
test_tick &&
git commit -m "submodule"
) &&
git clone super super-clone &&
(cd super-clone && git submodule update --init)
'

test_expect_success 'change submodule' '
(cd submodule &&
echo second line >> file &&
test_tick &&
git commit -a -m "change submodule"
)
'

test_expect_success 'change submodule url' '
(cd super &&
cd submodule &&
git checkout master &&
git pull
) &&
mv submodule moved-submodule &&
(cd super &&
git config -f .gitmodules submodule.submodule.url ../moved-submodule
test_tick &&
git commit -a -m moved-submodule
)
'

test_expect_success '"git submodule sync" should update submodule URLs' '
(cd super-clone &&
git pull &&
git submodule sync
) &&
test -d "$(git config -f super-clone/submodule/.git/config \
remote.origin.url)" &&
(cd super-clone/submodule &&
git checkout master &&
git pull
)
'

test_done

0 comments on commit 52e8370

Please sign in to comment.