1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#!/bin/sh
test_description='Test cloning repos with submodules using remote-tracking branches'
. ./test-lib.sh
pwd=$(pwd)
test_expect_success 'setup' '
git checkout -b master &&
test_commit commit1 &&
mkdir sub &&
(
cd sub &&
git init &&
test_commit subcommit1 &&
git tag sub_when_added_to_super
) &&
git submodule add "file://$pwd/sub" sub &&
git commit -m "add submodule" &&
(
cd sub &&
test_commit subcommit2
)
'
test_expect_success 'clone with --no-remote-submodules' '
test_when_finished "rm -rf super_clone" &&
git clone --recurse-submodules --no-remote-submodules "file://$pwd/." super_clone &&
(
cd super_clone/sub &&
git diff --exit-code sub_when_added_to_super
)
'
test_expect_success 'clone with --remote-submodules' '
test_when_finished "rm -rf super_clone" &&
git clone --recurse-submodules --remote-submodules "file://$pwd/." super_clone &&
(
cd super_clone/sub &&
git diff --exit-code remotes/origin/master
)
'
test_expect_success 'check the default is --no-remote-submodules' '
test_when_finished "rm -rf super_clone" &&
git clone --recurse-submodules "file://$pwd/." super_clone &&
(
cd super_clone/sub &&
git diff --exit-code sub_when_added_to_super
)
'
test_done
|