(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'test_description='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'test_description='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description) op: assign_op.Equal rhs: {(SQ <'test automatic tag following'>)} ) ] redirects: [] ) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {<'./test-lib.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {<setup>} { (SQ <'\n'> <'\ttest_tick &&\n'> <'\techo ichi >file &&\n'> <'\tgit add file &&\n'> <'\tgit commit -m L &&\n'> <'\tL=$(git rev-parse --verify HEAD) &&\n'> <'\n'> <'\t(\n'> <'\t\tmkdir cloned &&\n'> <'\t\tcd cloned &&\n'> <'\t\tgit init-db &&\n'> <'\t\tgit remote add -f origin ..\n'> <'\t) &&\n'> <'\n'> <'\ttest_tick &&\n'> <'\techo A >file &&\n'> <'\tgit add file &&\n'> <'\tgit commit -m A &&\n'> <'\tA=$(git rev-parse --verify HEAD)\n'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'U='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'U='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'U='> name:U) op: assign_op.Equal rhs: {<UPLOAD_LOG>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'UPATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'UPATH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'UPATH='> name:UPATH) op: assign_op.Equal rhs: { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <pwd> more_env: [] words: [{<pwd>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) <'/'> ($ Id.VSub_DollarName U) ) } ) ] redirects: [] ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {(SQ <'setup expect'>)} {(SQ <'\n'> <'cat - <<EOF >expect\n'> <'want $A\n'> <'EOF\n'>)} ] redirects: [] do_fork: T ) (command.ShFunction name_tok: <get_needs> name: get_needs body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-s>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <perl> more_env: [] words: [ {<perl>} {<-alne>} { (SQ <'\n'> <'\t\tnext unless $F[1] eq "upload-pack<";\n'> <'\t\tlast if $F[2] eq "0000";\n'> <'\t\tprint $F[2], " ", $F[3];\n'> <'\t'> ) } {(DQ ($ Id.VSub_Number 1))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {(SQ <'fetch A (new commit : 1 connection)'>)} { (SQ <'\n'> <'\trm -f $U &&\n'> <'\t(\n'> <'\t\tcd cloned &&\n'> <'\t\tGIT_TRACE_PACKET=$UPATH git fetch &&\n'> <'\t\ttest $A = $(git rev-parse --verify origin/master)\n'> <'\t) &&\n'> <'\tget_needs $U >actual &&\n'> <'\ttest_cmp expect actual\n'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {(DQ <'create tag T on A, create C on branch cat'>)} { (SQ <'\n'> <'\tgit tag -a -m tag1 tag1 $A &&\n'> <'\tT=$(git rev-parse --verify tag1) &&\n'> <'\n'> <'\tgit checkout -b cat &&\n'> <'\techo C >file &&\n'> <'\tgit add file &&\n'> <'\tgit commit -m C &&\n'> <'\tC=$(git rev-parse --verify HEAD) &&\n'> <'\tgit checkout master\n'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {(SQ <'setup expect'>)} {(SQ <'\n'> <'cat - <<EOF >expect\n'> <'want $C\n'> <'want $T\n'> <'EOF\n'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {(SQ <'fetch C, T (new branch, tag : 1 connection)'>)} { (SQ <'\n'> <'\trm -f $U &&\n'> <'\t(\n'> <'\t\tcd cloned &&\n'> <'\t\tGIT_TRACE_PACKET=$UPATH git fetch &&\n'> <'\t\ttest $C = $(git rev-parse --verify origin/cat) &&\n'> <'\t\ttest $T = $(git rev-parse --verify tag1) &&\n'> <'\t\ttest $A = $(git rev-parse --verify tag1^0)\n'> <'\t) &&\n'> <'\tget_needs $U >actual &&\n'> <'\ttest_cmp expect actual\n'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {(DQ <'create commits O, B, tag S on B'>)} { (SQ <'\n'> <'\ttest_tick &&\n'> <'\techo O >file &&\n'> <'\tgit add file &&\n'> <'\tgit commit -m O &&\n'> <'\n'> <'\ttest_tick &&\n'> <'\techo B >file &&\n'> <'\tgit add file &&\n'> <'\tgit commit -m B &&\n'> <'\tB=$(git rev-parse --verify HEAD) &&\n'> <'\n'> <'\tgit tag -a -m tag2 tag2 $B &&\n'> <'\tS=$(git rev-parse --verify tag2)\n'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {(SQ <'setup expect'>)} {(SQ <'\n'> <'cat - <<EOF >expect\n'> <'want $B\n'> <'want $S\n'> <'EOF\n'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {(SQ <'fetch B, S (commit and tag : 1 connection)'>)} { (SQ <'\n'> <'\trm -f $U &&\n'> <'\t(\n'> <'\t\tcd cloned &&\n'> <'\t\tGIT_TRACE_PACKET=$UPATH git fetch &&\n'> <'\t\ttest $B = $(git rev-parse --verify origin/master) &&\n'> <'\t\ttest $B = $(git rev-parse --verify tag2^0) &&\n'> <'\t\ttest $S = $(git rev-parse --verify tag2)\n'> <'\t) &&\n'> <'\tget_needs $U >actual &&\n'> <'\ttest_cmp expect actual\n'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {(SQ <'setup expect'>)} {(SQ <'\n'> <'cat - <<EOF >expect\n'> <'want $B\n'> <'want $S\n'> <'EOF\n'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_expect_success> more_env: [] words: [ {<test_expect_success>} {(SQ <'new clone fetch master and tags'>)} { (SQ <'\n'> <'\ttest_might_fail git branch -D cat &&\n'> <'\trm -f $U &&\n'> <'\t(\n'> <'\t\tmkdir clone2 &&\n'> <'\t\tcd clone2 &&\n'> <'\t\tgit init &&\n'> <'\t\tgit remote add origin .. &&\n'> <'\t\tGIT_TRACE_PACKET=$UPATH git fetch &&\n'> <'\t\ttest $B = $(git rev-parse --verify origin/master) &&\n'> <'\t\ttest $S = $(git rev-parse --verify tag2) &&\n'> <'\t\ttest $B = $(git rev-parse --verify tag2^0) &&\n'> <'\t\ttest $T = $(git rev-parse --verify tag1) &&\n'> <'\t\ttest $A = $(git rev-parse --verify tag1^0)\n'> <'\t) &&\n'> <'\tget_needs $U >actual &&\n'> <'\ttest_cmp expect actual\n'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_done> more_env: [] words: [{<test_done>}] redirects: [] do_fork: T ) ] )