(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'--all includes detached HEADs' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.ShFunction name: commit body: (command.BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp] children: [ (C {(test_tick)}) (command.Simple words: [{(echo)} {($ Id.VSub_Number '$1')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:33) fd: -1 arg_word: {(foo)} ) ] ) (C {(git)} {(add)} {(foo)}) (C {(git)} {(commit)} {(-m)} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ] ) ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:65))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:69) (Token id:Id.Lit_Chars val:'\n' span_id:70) (Token id:Id.Lit_Chars val:'\tcommit one &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\tcommit two &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\tgit checkout HEAD^ &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\tcommit detached\n' span_id:74) (Token id:Id.Lit_Chars val:'\n' span_id:75) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rev-list --all lists detached HEAD' span_id:82))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:86) (Token id:Id.Lit_Chars val:'\n' span_id:87) (Token id: Id.Lit_Chars val: '\ttest 3 = $(git rev-list --all | wc -l)\n' span_id: 88 ) (Token id:Id.Lit_Chars val:'\n' span_id:89) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'repack does not lose detached HEAD' span_id:96))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:100) (Token id:Id.Lit_Chars val:'\n' span_id:101) (Token id:Id.Lit_Chars val:'\tgit gc &&\n' span_id:102) (Token id:Id.Lit_Chars val:'\tgit prune --expire=now &&\n' span_id:103) (Token id:Id.Lit_Chars val:'\tgit show HEAD\n' span_id:104) (Token id:Id.Lit_Chars val:'\n' span_id:105) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rev-list --graph --no-walk is forbidden' span_id:112))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:116) (Token id: Id.Lit_Chars val: '\ttest_must_fail git rev-list --graph --no-walk HEAD\n' span_id: 117 ) ) } ) (C {(test_done)}) ] )