You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
972 B
43 lines
972 B
#!/bin/sh |
|
|
|
test_description='git status and symlinks' |
|
|
|
. ./test-lib.sh |
|
|
|
test_expect_success 'setup' ' |
|
echo .gitignore >.gitignore && |
|
echo actual >>.gitignore && |
|
echo expect >>.gitignore && |
|
mkdir dir && |
|
echo x >dir/file1 && |
|
echo y >dir/file2 && |
|
git add dir && |
|
git commit -m initial && |
|
git tag initial |
|
' |
|
|
|
test_expect_success SYMLINKS 'symlink to a directory' ' |
|
test_when_finished "rm symlink" && |
|
ln -s dir symlink && |
|
echo "?? symlink" >expect && |
|
git status --porcelain >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success SYMLINKS 'symlink replacing a directory' ' |
|
test_when_finished "rm -rf copy && git reset --hard initial" && |
|
mkdir copy && |
|
cp dir/file1 copy/file1 && |
|
echo "changed in copy" >copy/file2 && |
|
git add copy && |
|
git commit -m second && |
|
rm -rf copy && |
|
ln -s dir copy && |
|
echo " D copy/file1" >expect && |
|
echo " D copy/file2" >>expect && |
|
echo "?? copy" >>expect && |
|
git status --porcelain >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_done
|
|
|