| #!/bin/sh |
| |
| test_description='ls-tree with(out) globs' |
| |
| . ./test-lib.sh |
| |
| test_expect_success 'setup' ' |
| mkdir a aa "a[a]" && |
| touch a/one aa/two "a[a]/three" && |
| git add a/one aa/two "a[a]/three" && |
| git commit -m test |
| ' |
| |
| test_expect_success 'ls-tree a[a] matches literally' ' |
| cat >expect <<-EOF && |
| 100644 blob $EMPTY_BLOB a[a]/three |
| EOF |
| git ls-tree -r HEAD "a[a]" >actual && |
| test_cmp expect actual |
| ' |
| |
| test_expect_success 'ls-tree outside prefix' ' |
| cat >expect <<-EOF && |
| 100644 blob $EMPTY_BLOB ../a[a]/three |
| EOF |
| ( cd aa && git ls-tree -r HEAD "../a[a]"; ) >actual && |
| test_cmp expect actual |
| ' |
| |
| test_expect_failure 'ls-tree does not yet support negated pathspec' ' |
| git ls-files ":(exclude)a" "a*" >expect && |
| git ls-tree --name-only -r HEAD ":(exclude)a" "a*" >actual && |
| test_cmp expect actual |
| ' |
| |
| test_done |