2020-03-09 17:59:18 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
. "$(dirname "$0")/testlib.sh"
|
|
|
|
reponame="submodule-recurse-test-repo"
|
|
|
|
submodname="submodule-recurse-test-submodule"
|
|
|
|
|
|
|
|
begin_test "submodule with submodule.recurse = true"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
|
|
|
|
setup_remote_repo "$reponame"
|
|
|
|
setup_remote_repo "$submodname"
|
|
|
|
|
|
|
|
clone_repo "$submodname" submodule
|
|
|
|
|
|
|
|
git lfs track "*.dat" 2>&1 | tee track.log
|
|
|
|
grep "Tracking \"\*.dat\"" track.log
|
|
|
|
|
|
|
|
echo "foo" > file.dat
|
|
|
|
git add .gitattributes file.dat
|
|
|
|
git commit -a -m "add file"
|
2020-06-29 16:18:57 +00:00
|
|
|
git push origin main
|
2020-03-09 17:59:18 +00:00
|
|
|
subcommit1=$(git rev-parse HEAD)
|
|
|
|
|
|
|
|
echo "bar" > file.dat
|
|
|
|
git add file.dat
|
|
|
|
git commit -a -m "update file"
|
2020-06-29 16:18:57 +00:00
|
|
|
git push origin main
|
2020-03-09 17:59:18 +00:00
|
|
|
subcommit2=$(git rev-parse HEAD)
|
|
|
|
|
|
|
|
clone_repo "$reponame" repo
|
|
|
|
git submodule add "$GITSERVER/$submodname" submodule
|
|
|
|
git submodule update --init --recursive
|
|
|
|
git -C submodule reset --hard "$subcommit1"
|
|
|
|
git add .gitmodules submodule
|
|
|
|
git commit -m "add submodule"
|
2020-06-29 16:18:57 +00:00
|
|
|
git push origin main
|
2020-03-09 17:59:18 +00:00
|
|
|
|
|
|
|
git checkout -b feature
|
|
|
|
git -C submodule reset --hard "$subcommit2"
|
|
|
|
git add .gitmodules submodule
|
|
|
|
git commit -m "update submodule"
|
|
|
|
git push origin feature
|
|
|
|
|
|
|
|
clone_repo "$reponame" repo-no-recurse
|
|
|
|
git submodule update --init --recursive
|
|
|
|
git checkout feature
|
|
|
|
|
|
|
|
if [[ -d "submodule/lfs/logs" ]]
|
|
|
|
then
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
clone_repo "$reponame" repo-recurse
|
|
|
|
git config submodule.recurse true
|
|
|
|
git submodule update --init --recursive
|
|
|
|
git checkout feature
|
|
|
|
|
|
|
|
if [[ -d "submodule/lfs/logs" ]]
|
|
|
|
then
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
)
|
|
|
|
end_test
|