| #!/bin/sh |
| |
| test_description='giving ignored paths to git add' |
| |
| . ./test-lib.sh |
| |
| test_expect_success setup ' |
| mkdir sub dir dir/sub && |
| echo sub >.gitignore && |
| echo ign >>.gitignore && |
| for p in . sub dir dir/sub |
| do |
| >"$p/ign" && |
| >"$p/file" || exit 1 |
| done |
| ' |
| |
| for i in file dir/file dir 'd*' |
| do |
| test_expect_success "no complaints for unignored $i" ' |
| rm -f .git/index && |
| git add "$i" && |
| git ls-files "$i" >out && |
| test -s out |
| ' |
| done |
| |
| for i in ign dir/ign dir/sub dir/sub/*ign sub/file sub sub/* |
| do |
| test_expect_success "complaints for ignored $i" ' |
| rm -f .git/index && |
| test_must_fail git add "$i" 2>err && |
| git ls-files "$i" >out && |
| ! test -s out && |
| grep -e "Use -f if" err && |
| cat err |
| ' |
| |
| test_expect_success "complaints for ignored $i with unignored file" ' |
| rm -f .git/index && |
| test_must_fail git add "$i" file 2>err && |
| git ls-files "$i" >out && |
| ! test -s out && |
| grep -e "Use -f if" err && |
| cat err |
| ' |
| done |
| |
| for i in sub sub/* |
| do |
| test_expect_success "complaints for ignored $i in dir" ' |
| rm -f .git/index && |
| ( |
| cd dir && |
| test_must_fail git add "$i" 2>err && |
| git ls-files "$i" >out && |
| ! test -s out && |
| grep -e "Use -f if" err && |
| cat err |
| ) |
| ' |
| done |
| |
| for i in ign file |
| do |
| test_expect_success "complaints for ignored $i in sub" ' |
| rm -f .git/index && |
| ( |
| cd sub && |
| test_must_fail git add "$i" 2>err && |
| git ls-files "$i" >out && |
| ! test -s out && |
| grep -e "Use -f if" err && |
| cat err |
| ) |
| ' |
| done |
| |
| test_done |