| 1 | #!/bin/sh |
| 2 | |
| 3 | test_description='magic pathspec tests using git-add' |
| 4 | |
| 5 | . ./test-lib.sh |
| 6 | |
| 7 | test_expect_success 'setup' ' |
| 8 | mkdir sub anothersub && |
| 9 | : >sub/foo && |
| 10 | : >anothersub/foo |
| 11 | ' |
| 12 | |
| 13 | test_expect_success 'add :/' " |
| 14 | cat >expected <<-EOF && |
| 15 | add 'anothersub/foo' |
| 16 | add 'expected' |
| 17 | add 'sub/actual' |
| 18 | add 'sub/foo' |
| 19 | EOF |
| 20 | (cd sub && git add -n :/ >actual) && |
| 21 | test_cmp expected sub/actual |
| 22 | " |
| 23 | |
| 24 | cat >expected <<EOF |
| 25 | add 'anothersub/foo' |
| 26 | EOF |
| 27 | |
| 28 | test_expect_success 'add :/anothersub' ' |
| 29 | (cd sub && git add -n :/anothersub >actual) && |
| 30 | test_cmp expected sub/actual |
| 31 | ' |
| 32 | |
| 33 | test_expect_success 'add :/non-existent' ' |
| 34 | (cd sub && test_must_fail git add -n :/non-existent) |
| 35 | ' |
| 36 | |
| 37 | cat >expected <<EOF |
| 38 | add 'sub/foo' |
| 39 | EOF |
| 40 | |
| 41 | if test_have_prereq !MINGW && mkdir ":" 2>/dev/null |
| 42 | then |
| 43 | test_set_prereq COLON_DIR |
| 44 | fi |
| 45 | |
| 46 | test_expect_success COLON_DIR 'a file with the same (long) magic name exists' ' |
| 47 | : >":(icase)ha" && |
| 48 | test_must_fail git add -n ":(icase)ha" && |
| 49 | git add -n "./:(icase)ha" |
| 50 | ' |
| 51 | |
| 52 | test_expect_success COLON_DIR 'a file with the same (short) magic name exists' ' |
| 53 | : >":/bar" && |
| 54 | test_must_fail git add -n :/bar && |
| 55 | git add -n "./:/bar" |
| 56 | ' |
| 57 | |
| 58 | test_done |