#!/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 ' 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 -s 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 -s 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 -s out ) ' test_expect_success "complaints for ignored $i in sub output" ' ( cd sub && test_i18ngrep -e "Use -f if" err ) ' done test_done