86 lines
1.3 KiB
Bash
Executable File
86 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
. "test/testlib.sh"
|
|
|
|
begin_test "status"
|
|
(
|
|
set -e
|
|
|
|
mkdir repo-1
|
|
cd repo-1
|
|
git init
|
|
git lfs track "*.dat"
|
|
echo "some data" > file1.dat
|
|
git add file1.dat
|
|
git commit -m "file1.dat"
|
|
|
|
echo "other data" > file1.dat
|
|
echo "file2 data" > file2.dat
|
|
git add file2.dat
|
|
|
|
echo "file3 data" > file3.dat
|
|
git add file3.dat
|
|
|
|
echo "file3 other data" > file3.dat
|
|
|
|
expected="On branch master
|
|
|
|
Git LFS objects to be committed:
|
|
|
|
file2.dat (11 B)
|
|
file3.dat (11 B)
|
|
|
|
Git LFS objects not staged for commit:
|
|
|
|
file1.dat"
|
|
|
|
[ "$expected" = "$(git lfs status)" ]
|
|
)
|
|
end_test
|
|
|
|
begin_test "status --porcelain"
|
|
(
|
|
set -e
|
|
|
|
mkdir repo-2
|
|
cd repo-2
|
|
git init
|
|
git lfs track "*.dat"
|
|
echo "some data" > file1.dat
|
|
git add file1.dat
|
|
git commit -m "file1.dat"
|
|
|
|
echo "other data" > file1.dat
|
|
echo "file2 data" > file2.dat
|
|
git add file2.dat
|
|
|
|
echo "file3 data" > file3.dat
|
|
git add file3.dat
|
|
|
|
echo "file3 other data" > file3.dat
|
|
|
|
expected=" M file1.dat 10
|
|
A file2.dat 11
|
|
A file3.dat 11"
|
|
|
|
[ "$expected" = "$(git lfs status --porcelain)" ]
|
|
)
|
|
end_test
|
|
|
|
|
|
begin_test "status: outside git repository"
|
|
(
|
|
set +e
|
|
git lfs status 2>&1 > status.log
|
|
res=$?
|
|
|
|
set -e
|
|
if [ "$res" = "0" ]; then
|
|
echo "Passes because $GIT_LFS_TEST_DIR is unset."
|
|
exit 0
|
|
fi
|
|
[ "$res" = "128" ]
|
|
grep "Not in a git repository" status.log
|
|
)
|
|
end_test
|