(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"ls-tree with(out) globs">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ <setup>)} { (SQ <"\n"> <"\tmkdir a aa \"a[a]\" &&\n"> <"\ttouch a/one aa/two \"a[a]/three\" &&\n"> <"\tgit add a/one aa/two \"a[a]/three\" &&\n"> <"\tgit commit -m test\n"> ) } ) (C {(test_expect_success)} {(SQ <"ls-tree a[a] matches literally">)} { (SQ <"\n"> <"\tcat >expect <<-EOF &&\n"> <"\t100644 blob $EMPTY_BLOB\ta[a]/three\n"> <"\tEOF\n"> <"\tgit ls-tree -r HEAD \"a[a]\" >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"ls-tree outside prefix">)} { (SQ <"\n"> <"\tcat >expect <<-EOF &&\n"> <"\t100644 blob $EMPTY_BLOB\t../a[a]/three\n"> <"\tEOF\n"> <"\t( cd aa && git ls-tree -r HEAD \"../a[a]\"; ) >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_failure)} {(SQ <"ls-tree does not yet support negated pathspec">)} { (SQ <"\n"> <"\tgit ls-files \":(exclude)a\" \"a*\" >expect &&\n"> <"\tgit ls-tree --name-only -r HEAD \":(exclude)a\" \"a*\" >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_done)}) ] )