2015-07-30 02:37:31 +00:00
|
|
|
#!/usr/bin/env bash
|
2015-05-26 17:51:38 +00:00
|
|
|
|
|
|
|
. "test/testlib.sh"
|
|
|
|
|
|
|
|
begin_test "ls-files"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
|
|
|
|
mkdir repo
|
|
|
|
cd repo
|
|
|
|
git init
|
2017-03-24 16:59:03 +00:00
|
|
|
git lfs track "*.dat" | grep "Tracking \"\*.dat\""
|
2015-05-26 17:51:38 +00:00
|
|
|
echo "some data" > some.dat
|
|
|
|
echo "some text" > some.txt
|
2015-07-05 18:13:01 +00:00
|
|
|
echo "missing" > missing.dat
|
|
|
|
git add missing.dat
|
|
|
|
git commit -m "add missing file"
|
2015-09-25 16:30:01 +00:00
|
|
|
[ "6bbd052ab0 * missing.dat" = "$(git lfs ls-files)" ]
|
2015-07-05 18:13:01 +00:00
|
|
|
|
|
|
|
git rm missing.dat
|
2015-05-26 17:51:38 +00:00
|
|
|
git add some.dat some.txt
|
2015-07-05 18:13:01 +00:00
|
|
|
git commit -m "added some files, removed missing one"
|
2015-05-26 17:51:38 +00:00
|
|
|
|
2015-07-05 18:13:01 +00:00
|
|
|
git lfs ls-files | tee ls.log
|
|
|
|
grep some.dat ls.log
|
2015-07-06 17:33:30 +00:00
|
|
|
[ `wc -l < ls.log` = 1 ]
|
2015-05-26 17:51:38 +00:00
|
|
|
)
|
|
|
|
end_test
|
2015-09-08 15:29:53 +00:00
|
|
|
|
|
|
|
begin_test "ls-files: outside git repository"
|
|
|
|
(
|
2015-09-08 16:20:52 +00:00
|
|
|
set +e
|
|
|
|
git lfs ls-files 2>&1 > ls-files.log
|
|
|
|
res=$?
|
|
|
|
|
2015-09-08 15:29:53 +00:00
|
|
|
set -e
|
2015-09-08 20:12:51 +00:00
|
|
|
if [ "$res" = "0" ]; then
|
|
|
|
echo "Passes because $GIT_LFS_TEST_DIR is unset."
|
|
|
|
exit 0
|
|
|
|
fi
|
2015-09-08 16:20:52 +00:00
|
|
|
[ "$res" = "128" ]
|
|
|
|
grep "Not in a git repository" ls-files.log
|
2015-09-08 15:29:53 +00:00
|
|
|
)
|
|
|
|
end_test
|
2015-09-17 21:03:11 +00:00
|
|
|
|
|
|
|
begin_test "ls-files: with zero files"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
mkdir empty
|
|
|
|
cd empty
|
|
|
|
git init
|
|
|
|
git lfs track "*.dat"
|
|
|
|
git add .gitattributes
|
|
|
|
|
|
|
|
set +e
|
|
|
|
git lfs ls-files 2> ls-files.log
|
|
|
|
res=$?
|
|
|
|
set -e
|
|
|
|
|
|
|
|
cat ls-files.log
|
|
|
|
[ "$res" = "2" ]
|
|
|
|
grep "Git can't resolve ref:" ls-files.log
|
|
|
|
|
|
|
|
git commit -m "initial commit"
|
|
|
|
[ "$(git lfs ls-files)" = "" ]
|
|
|
|
)
|
|
|
|
end_test
|
2015-09-19 06:59:39 +00:00
|
|
|
|
|
|
|
begin_test "ls-files: show duplicate files"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
|
2015-09-25 05:30:23 +00:00
|
|
|
mkdir dupRepoShort
|
|
|
|
cd dupRepoShort
|
2015-09-19 06:59:39 +00:00
|
|
|
git init
|
|
|
|
|
2017-03-24 16:59:03 +00:00
|
|
|
git lfs track "*.tgz" | grep "Tracking \"\*.tgz\""
|
2015-09-19 06:59:39 +00:00
|
|
|
echo "test content" > one.tgz
|
|
|
|
echo "test content" > two.tgz
|
|
|
|
git add one.tgz
|
|
|
|
git add two.tgz
|
|
|
|
git commit -m "add duplicate files"
|
2015-09-25 16:30:01 +00:00
|
|
|
|
|
|
|
expected="$(echo "a1fff0ffef * one.tgz
|
|
|
|
a1fff0ffef * two.tgz")"
|
|
|
|
|
|
|
|
[ "$expected" = "$(git lfs ls-files)" ]
|
2015-09-25 05:30:23 +00:00
|
|
|
)
|
|
|
|
end_test
|
|
|
|
|
|
|
|
begin_test "ls-files: show duplicate files with long OID"
|
|
|
|
(
|
|
|
|
set -e
|
|
|
|
|
|
|
|
mkdir dupRepoLong
|
|
|
|
cd dupRepoLong
|
|
|
|
git init
|
2015-09-19 06:59:39 +00:00
|
|
|
|
2017-03-24 16:59:03 +00:00
|
|
|
git lfs track "*.tgz" | grep "Tracking \"\*.tgz\""
|
2015-09-25 05:30:23 +00:00
|
|
|
echo "test content" > one.tgz
|
|
|
|
echo "test content" > two.tgz
|
|
|
|
git add one.tgz
|
|
|
|
git add two.tgz
|
|
|
|
git commit -m "add duplicate files with long OID"
|
2015-09-25 16:30:01 +00:00
|
|
|
|
|
|
|
expected="$(echo "a1fff0ffefb9eace7230c24e50731f0a91c62f9cefdfe77121c2f607125dffae * one.tgz
|
|
|
|
a1fff0ffefb9eace7230c24e50731f0a91c62f9cefdfe77121c2f607125dffae * two.tgz")"
|
|
|
|
|
|
|
|
[ "$expected" = "$(git lfs ls-files --long)" ]
|
2015-09-19 06:59:39 +00:00
|
|
|
)
|
|
|
|
end_test
|