52 lines
1.0 KiB
52 lines
1.0 KiB
#!/bin/sh |
|
|
|
test_description='fetching and pushing project with subproject' |
|
|
|
. ./test-lib.sh |
|
|
|
test_expect_success setup ' |
|
test_tick && |
|
mkdir -p sub && ( |
|
cd sub && |
|
git init && |
|
>subfile && |
|
git add subfile && |
|
git commit -m "subproject commit #1" |
|
) && |
|
>mainfile && |
|
git add sub mainfile && |
|
test_tick && |
|
git commit -m "superproject commit #1" |
|
' |
|
|
|
test_expect_success clone ' |
|
git clone "file://$(pwd)/.git" cloned && |
|
(git rev-parse HEAD; git ls-files -s) >expected && |
|
( |
|
cd cloned && |
|
(git rev-parse HEAD; git ls-files -s) >../actual |
|
) && |
|
test_cmp expected actual |
|
' |
|
|
|
test_expect_success advance ' |
|
echo more >mainfile && |
|
git update-index --force-remove sub && |
|
mv sub/.git sub/.git-disabled && |
|
git add sub/subfile mainfile && |
|
mv sub/.git-disabled sub/.git && |
|
test_tick && |
|
git commit -m "superproject commit #2" |
|
' |
|
|
|
test_expect_success fetch ' |
|
(git rev-parse HEAD; git ls-files -s) >expected && |
|
( |
|
cd cloned && |
|
git pull && |
|
(git rev-parse HEAD; git ls-files -s) >../actual |
|
) && |
|
test_cmp expected actual |
|
' |
|
|
|
test_done
|
|
|