#!/bin/sh global test_description := ''giving ignored paths to git add'' source ./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*]' { test_expect_success "no complaints for unignored $i" ' rm -f .git/index && git add "$i" && git ls-files "$i" >out && test -s out ' } for i in [ign dir/ign dir/sub dir/sub/*ign sub/file sub sub/*] { 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 ' } for i in [sub sub/*] { 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 ) ' } for i in [ign file] { 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 ) ' } test_done (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"giving ignored paths to git add">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(setup)} { (SQ <"\n"> <"\tmkdir sub dir dir/sub &&\n"> <"\techo sub >.gitignore &&\n"> <"\techo ign >>.gitignore &&\n"> <"\tfor p in . sub dir dir/sub\n"> <"\tdo\n"> <"\t\t>\"$p/ign\" &&\n"> <"\t\t>\"$p/file\" || exit 1\n"> <"\tdone\n"> ) } ) (ForEach iter_name: i iter_words: [{(file)} {(dir/file)} {(dir)} {(SQ <"d*">)}] do_arg_iter: False body: (DoGroup children: [ (C {(test_expect_success)} {(DQ ("no complaints for unignored ") ($ VSub_Name "$i"))} { (SQ <"\n"> <"\t\trm -f .git/index &&\n"> <"\t\tgit add \"$i\" &&\n"> <"\t\tgit ls-files \"$i\" >out &&\n"> <"\t\ttest -s out\n"> <"\t"> ) } ) ] spids: [48 67] ) spids: [37 -1] ) (ForEach iter_name: i iter_words: [ {(ign)} {(dir/ign)} {(dir/sub)} {(dir/sub/) (Lit_Other "*") (ign)} {(sub/file)} {(sub)} {(sub/) (Lit_Other "*")} ] do_arg_iter: False body: (DoGroup children: [ (C {(test_expect_success)} {(DQ ("complaints for ignored ") ($ VSub_Name "$i"))} { (SQ <"\n"> <"\t\trm -f .git/index &&\n"> <"\t\ttest_must_fail git add \"$i\" 2>err &&\n"> <"\t\tgit ls-files \"$i\" >out &&\n"> <"\t\t! test -s out\n"> <"\t"> ) } ) (C {(test_expect_success)} {(DQ ("complaints for ignored ") ($ VSub_Name "$i") (" output"))} {(SQ <"\n"> <"\t\ttest_i18ngrep -e \"Use -f if\" err\n"> <"\t">)} ) (C {(test_expect_success)} {(DQ ("complaints for ignored ") ($ VSub_Name "$i") (" with unignored file"))} { (SQ <"\n"> <"\t\trm -f .git/index &&\n"> <"\t\ttest_must_fail git add \"$i\" file 2>err &&\n"> <"\t\tgit ls-files \"$i\" >out &&\n"> <"\t\t! test -s out\n"> <"\t"> ) } ) (C {(test_expect_success)} {(DQ ("complaints for ignored ") ($ VSub_Name "$i") (" with unignored file output"))} {(SQ <"\n"> <"\t\ttest_i18ngrep -e \"Use -f if\" err\n"> <"\t">)} ) ] spids: [93 162] ) spids: [75 -1] ) (ForEach iter_name: i iter_words: [{(sub)} {(sub/) (Lit_Other "*")}] do_arg_iter: False body: (DoGroup children: [ (C {(test_expect_success)} {(DQ ("complaints for ignored ") ($ VSub_Name "$i") (" in dir"))} { (SQ <"\n"> <"\t\trm -f .git/index &&\n"> <"\t\t(\n"> <"\t\t\tcd dir &&\n"> <"\t\t\ttest_must_fail git add \"$i\" 2>err &&\n"> <"\t\t\tgit ls-files \"$i\" >out &&\n"> <"\t\t\t! test -s out\n"> <"\t\t)\n"> <"\t"> ) } ) (C {(test_expect_success)} {(DQ ("complaints for ignored ") ($ VSub_Name "$i") (" in dir output"))} { (SQ <"\n"> <"\t\t(\n"> <"\t\t\tcd dir &&\n"> <"\t\t\ttest_i18ngrep -e \"Use -f if\" err\n"> <"\t\t)\n"> <"\t"> ) } ) ] spids: [176 218] ) spids: [170 -1] ) (ForEach iter_name: i iter_words: [{(ign)} {(file)}] do_arg_iter: False body: (DoGroup children: [ (C {(test_expect_success)} {(DQ ("complaints for ignored ") ($ VSub_Name "$i") (" in sub"))} { (SQ <"\n"> <"\t\trm -f .git/index &&\n"> <"\t\t(\n"> <"\t\t\tcd sub &&\n"> <"\t\t\ttest_must_fail git add \"$i\" 2>err &&\n"> <"\t\t\tgit ls-files \"$i\" >out &&\n"> <"\t\t\t! test -s out\n"> <"\t\t)\n"> <"\t"> ) } ) (C {(test_expect_success)} {(DQ ("complaints for ignored ") ($ VSub_Name "$i") (" in sub output"))} { (SQ <"\n"> <"\t\t(\n"> <"\t\t\tcd sub &&\n"> <"\t\t\ttest_i18ngrep -e \"Use -f if\" err\n"> <"\t\t)\n"> <"\t"> ) } ) ] spids: [231 273] ) spids: [226 -1] ) (C {(test_done)}) ] )