(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:'git pull message generation' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dollar) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'$Dollar' span_id:17))} spids: [15] ) ] ) (C {(test_expect_success)} {(setup)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:26) (Token id: Id.Lit_Chars val: '\ttest_commit initial afile original &&\n' span_id: 27 ) (Token id:Id.Lit_Chars val:'\tgit clone . cloned &&\n' span_id:28) (Token id:Id.Lit_Chars val:'\t(\n' span_id:29) (Token id:Id.Lit_Chars val:'\t\tcd cloned &&\n' span_id:30) (Token id:Id.Lit_Chars val:'\t\techo added >bfile &&\n' span_id:31) (Token id:Id.Lit_Chars val:'\t\tgit add bfile &&\n' span_id:32) (Token id:Id.Lit_Chars val:'\t\ttest_tick &&\n' span_id:33) (Token id:Id.Lit_Chars val:'\t\tgit commit -m "add bfile"\n' span_id:34) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:35) (Token id:Id.Lit_Chars val:'\ttest_tick && test_tick &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\techo "second" >afile &&\n' span_id:37) (Token id:Id.Lit_Chars val:'\tgit add afile &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\tgit commit -m "second commit" &&\n' span_id:39) (Token id:Id.Lit_Chars val:'\techo "original $dollar" >afile &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\tgit add afile &&\n' span_id:41) (Token id:Id.Lit_Chars val:'\tgit commit -m "do not clobber $dollar signs"\n' span_id:42) ) } ) (C {(test_expect_success)} {(pull)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:51) (Token id:Id.Lit_Chars val:'(\n' span_id:52) (Token id:Id.Lit_Chars val:'\tcd cloned &&\n' span_id:53) (Token id:Id.Lit_Chars val:'\tgit pull --log &&\n' span_id:54) (Token id:Id.Lit_Chars val:'\tgit log -2 &&\n' span_id:55) (Token id:Id.Lit_Chars val:'\tgit cat-file commit HEAD >result &&\n' span_id:56) (Token id:Id.Lit_Chars val:'\tgrep Dollar result\n' span_id:57) (Token id:Id.Lit_Chars val:')\n' span_id:58) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'--log=1 limits shortlog length' 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:'\tcd cloned &&\n' span_id:71) (Token id:Id.Lit_Chars val:'\tgit reset --hard HEAD^ &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\ttest "$(cat afile)" = original &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\ttest "$(cat bfile)" = added &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\tgit pull --log=1 &&\n' span_id:75) (Token id:Id.Lit_Chars val:'\tgit log -3 &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\tgit cat-file commit HEAD >result &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\tgrep Dollar result &&\n' span_id:78) (Token id:Id.Lit_Chars val:'\t! grep "second commit" result\n' span_id:79) (Token id:Id.Lit_Chars val:')\n' span_id:80) ) } ) (C {(test_done)}) ] )