(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 reset --patch' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./lib-patch-mode.sh)}) (C {(test_expect_success)} {(PERL)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:19))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:23) (Token id:Id.Lit_Chars val:'\tmkdir dir &&\n' span_id:24) (Token id:Id.Lit_Chars val:'\techo parent > dir/foo &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\techo dummy > bar &&\n' span_id:26) (Token id:Id.Lit_Chars val:'\tgit add dir &&\n' span_id:27) (Token id:Id.Lit_Chars val:'\tgit commit -m initial &&\n' span_id:28) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:29) (Token id:Id.Lit_Chars val:'\ttest_commit second dir/foo head &&\n' span_id:30) (Token id:Id.Lit_Chars val:'\tset_and_save_state bar bar_work bar_index &&\n' span_id:31) (Token id:Id.Lit_Chars val:'\tsave_head\n' span_id:32) ) } ) (C {(test_expect_success)} {(PERL)} {(SQ (Token id:Id.Lit_Chars val:'saying "n" does nothing' span_id:45))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:49) (Token id: Id.Lit_Chars val: '\tset_and_save_state dir/foo work work &&\n' span_id: 50 ) (Token id:Id.Lit_Chars val:'\t(echo n; echo n) | git reset -p &&\n' span_id:51) (Token id:Id.Lit_Chars val:'\tverify_saved_state dir/foo &&\n' span_id:52) (Token id:Id.Lit_Chars val:'\tverify_saved_state bar\n' span_id:53) ) } ) (C {(test_expect_success)} {(PERL)} {(SQ (Token id:Id.Lit_Chars val:'git reset -p' span_id:62))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:66) (Token id: Id.Lit_Chars val: '\t(echo n; echo y) | git reset -p >output &&\n' span_id: 67 ) (Token id:Id.Lit_Chars val:'\tverify_state dir/foo work head &&\n' span_id:68) (Token id:Id.Lit_Chars val:'\tverify_saved_state bar &&\n' span_id:69) (Token id:Id.Lit_Chars val:'\ttest_i18ngrep "Unstage" output\n' span_id:70) ) } ) (C {(test_expect_success)} {(PERL)} {(SQ (Token id:Id.Lit_Chars val:'git reset -p HEAD^' span_id:79))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:83) (Token id: Id.Lit_Chars val: '\t(echo n; echo y) | git reset -p HEAD^ >output &&\n' span_id: 84 ) (Token id:Id.Lit_Chars val:'\tverify_state dir/foo work parent &&\n' span_id:85) (Token id:Id.Lit_Chars val:'\tverify_saved_state bar &&\n' span_id:86) (Token id:Id.Lit_Chars val:'\ttest_i18ngrep "Apply" output\n' span_id:87) ) } ) (C {(test_expect_success)} {(PERL)} {(SQ (Token id:Id.Lit_Chars val:'git reset -p dir' span_id:109))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:113) (Token id:Id.Lit_Chars val:'\tset_state dir/foo work work &&\n' span_id:114) (Token id:Id.Lit_Chars val:'\t(echo y; echo n) | git reset -p dir &&\n' span_id:115) (Token id:Id.Lit_Chars val:'\tverify_state dir/foo work head &&\n' span_id:116) (Token id:Id.Lit_Chars val:'\tverify_saved_state bar\n' span_id:117) ) } ) (C {(test_expect_success)} {(PERL)} {(SQ (Token id:Id.Lit_Chars val:'git reset -p -- foo (inside dir)' span_id:126))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:130) (Token id:Id.Lit_Chars val:'\tset_state dir/foo work work &&\n' span_id:131) (Token id:Id.Lit_Chars val:'\t(echo y; echo n) | (cd dir && git reset -p -- foo) &&\n' span_id:132) (Token id:Id.Lit_Chars val:'\tverify_state dir/foo work head &&\n' span_id:133) (Token id:Id.Lit_Chars val:'\tverify_saved_state bar\n' span_id:134) ) } ) (C {(test_expect_success)} {(PERL)} {(SQ (Token id:Id.Lit_Chars val:'git reset -p HEAD^ -- dir' span_id:143))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:147) (Token id: Id.Lit_Chars val: '\t(echo y; echo n) | git reset -p HEAD^ -- dir &&\n' span_id: 148 ) (Token id:Id.Lit_Chars val:'\tverify_state dir/foo work parent &&\n' span_id:149) (Token id:Id.Lit_Chars val:'\tverify_saved_state bar\n' span_id:150) ) } ) (C {(test_expect_success)} {(PERL)} {(SQ (Token id:Id.Lit_Chars val:'none of this moved HEAD' span_id:159))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:163) (Token id:Id.Lit_Chars val:'\tverify_saved_head\n' span_id:164) ) } ) (C {(test_done)}) ] )