| #!/bin/sh | |
| test_description='magic pathspec tests using git-log' | |
| . ./test-lib.sh | |
| test_expect_success 'setup' ' | |
| test_commit initial && | |
| test_tick && | |
| git commit --allow-empty -m empty && | |
| mkdir sub | |
| ' | |
| test_expect_success '"git log :/" should not be ambiguous' ' | |
| git log :/ | |
| ' | |
| test_expect_success '"git log :/a" should be ambiguous (applied both rev and worktree)' ' | |
| : >a && | |
| test_must_fail git log :/a 2>error && | |
| test_i18ngrep ambiguous error | |
| ' | |
| test_expect_success '"git log :/a -- " should not be ambiguous' ' | |
| git log :/a -- | |
| ' | |
| test_expect_success '"git log -- :/a" should not be ambiguous' ' | |
| git log -- :/a | |
| ' | |
| test_expect_success '"git log :" should be ambiguous' ' | |
| test_must_fail git log : 2>error && | |
| test_i18ngrep ambiguous error | |
| ' | |
| test_expect_success 'git log -- :' ' | |
| git log -- : | |
| ' | |
| test_expect_success 'git log HEAD -- :/' ' | |
| cat >expected <<-EOF && | |
| 24b24cf initial | |
| EOF | |
| (cd sub && git log --oneline HEAD -- :/ >../actual) && | |
| test_cmp expected actual | |
| ' | |
| test_expect_success 'command line pathspec parsing for "git log"' ' | |
| git reset --hard && | |
| >a && | |
| git add a && | |
| git commit -m "add an empty a" --allow-empty && | |
| echo 1 >a && | |
| git commit -a -m "update a to 1" && | |
| git checkout HEAD^ && | |
| echo 2 >a && | |
| git commit -a -m "update a to 2" && | |
| test_must_fail git merge master && | |
| git add a && | |
| git log --merge -- a | |
| ' | |
| test_done |