git-lfs/t/t-submodule-lfsconfig.sh

76 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env bash
. "$(dirname "$0")/testlib.sh"
lfsname="submodule-config-test-lfs"
reponame="submodule-config-test-repo"
submodname="submodule-config-test-submodule"
begin_test "submodule env with .lfsconfig"
(
set -e
# setup dummy repo with lfs store
# no git data will be pushed, just lfs objects
setup_remote_repo "$lfsname"
echo $GITSERVER/$lfsname.git/info/lfs
# setup submodule
setup_remote_repo "$submodname"
clone_repo "$submodname" submod
mkdir dir
git config -f .lfsconfig lfs.url "$GITSERVER/$lfsname.git/info/lfs"
git lfs track "*.dat"
submodcontent="submodule lfs file"
submodoid=$(calc_oid "$submodcontent")
printf "$submodcontent" > dir/test.dat
git add .lfsconfig .gitattributes dir
git commit -m "create submodule"
git push origin master
assert_server_object "$lfsname" "$submodoid"
# setup repo with submodule
setup_remote_repo "$reponame"
clone_repo "$reponame" repo
git config -f .lfsconfig lfs.url "$GITSERVER/$lfsname.git/info/lfs"
git submodule add "$GITSERVER/$submodname" sub
git submodule update
git lfs track "*.dat"
mkdir dir
repocontent="repository lfs file"
repooid=$(calc_oid "$repocontent")
printf "$repocontent" > dir/test.dat
git add .gitattributes .lfsconfig .gitmodules dir sub
git commit -m "create repo"
git push origin master
assert_server_object "$lfsname" "$repooid"
echo "repo"
git lfs env | tee env.log
grep "Endpoint=$GITSERVER/$lfsname.git/info/lfs (auth=basic)$" env.log
cd sub
echo "./sub"
git lfs env | tee env.log
grep "Endpoint=$GITSERVER/$lfsname.git/info/lfs (auth=basic)$" env.log
cd dir
echo "./sub/dir"
git lfs env | tee env.log
grep "Endpoint=$GITSERVER/$lfsname.git/info/lfs (auth=basic)$" env.log
)
end_test
begin_test "submodule update --init --remote with .lfsconfig"
(
set -e
clone_repo "$reponame" clone
grep "$repocontent" dir/test.dat
git submodule update --init --remote
grep "$submodcontent" sub/dir/test.dat
)
end_test