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.
55 lines
1009 B
55 lines
1009 B
#!/bin/sh |
|
|
|
test_description='git add --all' |
|
|
|
. ./test-lib.sh |
|
|
|
test_expect_success setup ' |
|
( |
|
echo .gitignore |
|
echo will-remove |
|
) >expect && |
|
( |
|
echo actual |
|
echo expect |
|
echo ignored |
|
) >.gitignore && |
|
git --literal-pathspecs add --all && |
|
>will-remove && |
|
git add --all && |
|
test_tick && |
|
git commit -m initial && |
|
git ls-files >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'git add --all' ' |
|
( |
|
echo .gitignore |
|
echo not-ignored |
|
echo "M .gitignore" |
|
echo "A not-ignored" |
|
echo "D will-remove" |
|
) >expect && |
|
>ignored && |
|
>not-ignored && |
|
echo modification >>.gitignore && |
|
rm -f will-remove && |
|
git add --all && |
|
git update-index --refresh && |
|
git ls-files >actual && |
|
git diff-index --name-status --cached HEAD >>actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'Just "git add" is a no-op' ' |
|
git reset --hard && |
|
echo >will-remove && |
|
>will-not-be-added && |
|
git add && |
|
git diff-index --name-status --cached HEAD >actual && |
|
>expect && |
|
test_cmp expect actual |
|
' |
|
|
|
test_done
|
|
|