(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <'rev-list/rev-parse --glob'>)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (FuncDef name: commit body: (BraceGroup children: [ (AndOr children: [ (C {(test_tick)}) (AndOr children: [ (SimpleCommand words: [{(echo)} {($ VSub_Number '$1')}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(foo)} spids:[32])] ) (AndOr children: [ (C {(git)} {(add)} {(foo)}) (C {(git)} {(commit)} {(-m)} {(DQ ($ VSub_Number '$1'))}) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [20] ) spids: [15 19] ) (FuncDef name: compare body: (BraceGroup children: [ (AndOr children: [ (SimpleCommand words: [{(git)} {($ VSub_Number '$1')} {($ VSub_Number '$2')}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(expected)} spids:[79])] ) (AndOr children: [ (SimpleCommand words: [{(git)} {($ VSub_Number '$1')} {($ VSub_Number '$3')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(actual)} spids: [91] ) ] ) (C {(test_cmp)} {(expected)} {(actual)}) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [66] ) spids: [61 65] ) (C {(test_expect_success)} {(SQ <setup>)} { (SQ <'\n'> <'\n'> <'\tcommit master &&\n'> <'\tgit checkout -b subspace/one master &&\n'> <'\tcommit one &&\n'> <'\tgit checkout -b subspace/two master &&\n'> <'\tcommit two &&\n'> <'\tgit checkout -b subspace-x master &&\n'> <'\tcommit subspace-x &&\n'> <'\tgit checkout -b other/three master &&\n'> <'\tcommit three &&\n'> <'\tgit checkout -b someref master &&\n'> <'\tcommit some &&\n'> <'\tgit checkout master &&\n'> <'\tcommit master2 &&\n'> <'\tgit tag foo/bar master &&\n'> <'\tcommit master3 &&\n'> <'\tgit update-ref refs/remotes/foo/baz master &&\n'> <'\tcommit master4\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-parse --glob=refs/heads/subspace/*'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-parse "subspace/one subspace/two" "--glob=refs/heads/subspace/*"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-parse --glob=heads/subspace/*'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-parse "subspace/one subspace/two" "--glob=heads/subspace/*"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-parse --glob=refs/heads/subspace/'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-parse "subspace/one subspace/two" "--glob=refs/heads/subspace/"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-parse --glob=heads/subspace/'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-parse "subspace/one subspace/two" "--glob=heads/subspace/"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-parse --glob=heads/subspace'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-parse "subspace/one subspace/two" "--glob=heads/subspace"\n'> <'\n'> ) } ) (C {(test_expect_failure)} {(SQ <'rev-parse accepts --glob as detached option'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-parse "subspace/one subspace/two" "--glob heads/subspace"\n'> <'\n'> ) } ) (C {(test_expect_failure)} {(SQ <'rev-parse is not confused by option-like glob'>)} {(SQ <'\n'> <'\n'> <'\tcompare rev-parse "master" "--glob --symbolic master"\n'> <'\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-parse --branches=subspace/*'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-parse "subspace/one subspace/two" "--branches=subspace/*"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-parse --branches=subspace/'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-parse "subspace/one subspace/two" "--branches=subspace/"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-parse --branches=subspace'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-parse "subspace/one subspace/two" "--branches=subspace"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-parse --glob=heads/subspace/* --glob=heads/other/*'>)} { (SQ <'\n'> <'\n'> < '\tcompare rev-parse "subspace/one subspace/two other/three" "--glob=heads/subspace/* --glob=heads/other/*"\n' > <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-parse --glob=heads/someref/* master'>)} {(SQ <'\n'> <'\n'> <'\tcompare rev-parse "master" "--glob=heads/someref/* master"\n'> <'\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-parse --glob=heads/*'>)} { (SQ <'\n'> <'\n'> < '\tcompare rev-parse "master other/three someref subspace-x subspace/one subspace/two" "--glob=heads/*"\n' > <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-parse --tags=foo'>)} {(SQ <'\n'> <'\n'> <'\tcompare rev-parse "foo/bar" "--tags=foo"\n'> <'\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-parse --remotes=foo'>)} {(SQ <'\n'> <'\n'> <'\tcompare rev-parse "foo/baz" "--remotes=foo"\n'> <'\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-parse --exclude with --branches'>)} {(SQ <'\n'> <'\tcompare rev-parse "--exclude=*/* --branches" "master someref subspace-x"\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-parse --exclude with --all'>)} {(SQ <'\n'> <'\tcompare rev-parse "--exclude=refs/remotes/* --all" "--branches --tags"\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-parse accumulates multiple --exclude'>)} { (SQ <'\n'> < '\tcompare rev-parse "--exclude=refs/remotes/* --exclude=refs/tags/* --all" --branches\n' > ) } ) (C {(test_expect_success)} {(SQ <'rev-list --glob=refs/heads/subspace/*'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-list "subspace/one subspace/two" "--glob=refs/heads/subspace/*"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --glob refs/heads/subspace/*'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-list "subspace/one subspace/two" "--glob refs/heads/subspace/*"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list not confused by option-like --glob arg'>)} {(SQ <'\n'> <'\n'> <'\tcompare rev-list "master" "--glob -0 master"\n'> <'\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-list --glob=heads/subspace/*'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-list "subspace/one subspace/two" "--glob=heads/subspace/*"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --glob=refs/heads/subspace/'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-list "subspace/one subspace/two" "--glob=refs/heads/subspace/"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --glob=heads/subspace/'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-list "subspace/one subspace/two" "--glob=heads/subspace/"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --glob=heads/subspace'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-list "subspace/one subspace/two" "--glob=heads/subspace"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --branches=subspace/*'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-list "subspace/one subspace/two" "--branches=subspace/*"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --branches=subspace/'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-list "subspace/one subspace/two" "--branches=subspace/"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --branches=subspace'>)} { (SQ <'\n'> <'\n'> <'\tcompare rev-list "subspace/one subspace/two" "--branches=subspace"\n'> <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --branches'>)} { (SQ <'\n'> <'\n'> < '\tcompare rev-list "master subspace-x someref other/three subspace/one subspace/two" "--branches"\n' > <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --glob=heads/someref/* master'>)} {(SQ <'\n'> <'\n'> <'\tcompare rev-list "master" "--glob=heads/someref/* master"\n'> <'\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-list --glob=heads/subspace/* --glob=heads/other/*'>)} { (SQ <'\n'> <'\n'> < '\tcompare rev-list "subspace/one subspace/two other/three" "--glob=heads/subspace/* --glob=heads/other/*"\n' > <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --glob=heads/*'>)} { (SQ <'\n'> <'\n'> < '\tcompare rev-list "master other/three someref subspace-x subspace/one subspace/two" "--glob=heads/*"\n' > <'\n'> ) } ) (C {(test_expect_success)} {(SQ <'rev-list --tags=foo'>)} {(SQ <'\n'> <'\n'> <'\tcompare rev-list "foo/bar" "--tags=foo"\n'> <'\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-list --tags'>)} {(SQ <'\n'> <'\n'> <'\tcompare rev-list "foo/bar" "--tags"\n'> <'\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-list --remotes=foo'>)} {(SQ <'\n'> <'\n'> <'\tcompare rev-list "foo/baz" "--remotes=foo"\n'> <'\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-list --exclude with --branches'>)} {(SQ <'\n'> <'\tcompare rev-list "--exclude=*/* --branches" "master someref subspace-x"\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-list --exclude with --all'>)} {(SQ <'\n'> <'\tcompare rev-list "--exclude=refs/remotes/* --all" "--branches --tags"\n'>)} ) (C {(test_expect_success)} {(SQ <'rev-list accumulates multiple --exclude'>)} { (SQ <'\n'> < '\tcompare rev-list "--exclude=refs/remotes/* --exclude=refs/tags/* --all" --branches\n' > ) } ) (C {(test_expect_failure)} {(SQ <'rev-list may want to succeed with empty output on no input (1)'>)} { (SQ <'\n'> <'\t>expect &&\n'> <'\tgit rev-list --stdin <expect >actual &&\n'> <'\ttest_cmp expect actual\n'> ) } ) (C {(test_expect_failure)} {(SQ <'rev-list may want to succeed with empty output on no input (2)'>)} { (SQ <'\n'> <'\t>expect &&\n'> <'\tgit rev-list --exclude=* --all >actual &&\n'> <'\ttest_cmp expect actual\n'> ) } ) (C {(test_expect_failure)} {(SQ <'rev-list may want to succeed with empty output on no input (3)'>)} { (SQ <'\n'> <'\t(\n'> <'\t\ttest_create_repo empty &&\n'> <'\t\tcd empty &&\n'> <'\t\t>expect &&\n'> <'\t\tgit rev-list --all >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t)\n'> ) } ) (C {(test_expect_success)} {(SQ <'shortlog accepts --glob/--tags/--remotes'>)} { (SQ <'\n'> <'\n'> <'\tcompare shortlog "subspace/one subspace/two" --branches=subspace &&\n'> <'\tcompare shortlog \\\n'> <'\t "master subspace-x someref other/three subspace/one subspace/two" \\\n'> <'\t --branches &&\n'> <'\tcompare shortlog master "--glob=heads/someref/* master" &&\n'> <'\tcompare shortlog "subspace/one subspace/two other/three" \\\n'> <'\t "--glob=heads/subspace/* --glob=heads/other/*" &&\n'> <'\tcompare shortlog \\\n'> <'\t "master other/three someref subspace-x subspace/one subspace/two" \\\n'> <'\t "--glob=heads/*" &&\n'> <'\tcompare shortlog foo/bar --tags=foo &&\n'> <'\tcompare shortlog foo/bar --tags &&\n'> <'\tcompare shortlog foo/baz --remotes=foo\n'> <'\n'> ) } ) (C {(test_expect_failure)} {(SQ <'shortlog accepts --glob as detached option'>)} { (SQ <'\n'> <'\n'> <'\tcompare shortlog \\\n'> <'\t "master other/three someref subspace-x subspace/one subspace/two" \\\n'> <'\t "--glob heads/*"\n'> <'\n'> ) } ) (C {(test_expect_failure)} {(SQ <'shortlog --glob is not confused by option-like argument'>)} {(SQ <'\n'> <'\n'> <'\tcompare shortlog master "--glob -e master"\n'> <'\n'>)} ) (C {(test_done)}) ] )