|  | #!/bin/sh | 
|  |  | 
|  | test_description='giving ignored paths to git add' | 
|  |  | 
|  | TEST_PASSES_SANITIZE_LEAK=true | 
|  | . ./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_must_be_empty out | 
|  | ' | 
|  |  | 
|  | test_expect_success "complaints for ignored $i output" ' | 
|  | test_i18ngrep -e "Use -f if" 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_must_be_empty out | 
|  | ' | 
|  | test_expect_success "complaints for ignored $i with unignored file output" ' | 
|  | test_i18ngrep -e "Use -f if" 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_must_be_empty out | 
|  | ) | 
|  | ' | 
|  |  | 
|  | test_expect_success "complaints for ignored $i in dir output" ' | 
|  | ( | 
|  | cd dir && | 
|  | test_i18ngrep -e "Use -f if" 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_must_be_empty out | 
|  | ) | 
|  | ' | 
|  |  | 
|  | test_expect_success "complaints for ignored $i in sub output" ' | 
|  | ( | 
|  | cd sub && | 
|  | test_i18ngrep -e "Use -f if" err | 
|  | ) | 
|  | ' | 
|  | done | 
|  |  | 
|  | test_done |