(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <'Tests to check that "reset" options follow a known table'>)} spids: [13] ) ] spids: [13] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ <'creating initial commits'>)} { (SQ <'\n'> <' test_commit E file1 &&\n'> <' test_commit D file1 &&\n'> <' test_commit C file1\n'> ) } ) (While cond: [(C {(read)} {(W1)} {(I1)} {(H1)} {(T)} {(opt)} {(W2)} {(I2)} {(H2)})] body: (DoGroup children: [ (C {(test_expect_success)} { (DQ ('check: ') ($ VSub_Name '$W1') (' ') ($ VSub_Name '$I1') (' ') ($ VSub_Name '$H1') (' ') ($ VSub_Name '$T') (' --') ($ VSub_Name '$opt') (' ') ($ VSub_Name '$W2') (' ') ($ VSub_Name '$I2') (' ') ($ VSub_Name '$H2') ) } { (SQ <'\n'> <'\tgit reset --hard C &&\n'> <'\tif test "$I1" != "$H1"\n'> <'\tthen\n'> <'\t echo "$I1" >file1 &&\n'> <'\t git add file1\n'> <'\tfi &&\n'> <'\tif test "$W1" != "$I1"\n'> <'\tthen\n'> <'\t echo "$W1" >file1\n'> <'\tfi &&\n'> <'\tif test "$W2" != "XXXXX"\n'> <'\tthen\n'> <'\t git reset --$opt $T &&\n'> <'\t test "$(cat file1)" = "$W2" &&\n'> <'\t git checkout-index -f -- file1 &&\n'> <'\t test "$(cat file1)" = "$I2" &&\n'> <'\t git checkout -f HEAD -- file1 &&\n'> <'\t test "$(cat file1)" = "$H2"\n'> <'\telse\n'> <'\t test_must_fail git reset --$opt $T\n'> <'\tfi\n'> <' '> ) } ) ] spids: [59 109] ) redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: {('A B C D soft A B D\n') ('A B C D mixed A D D\n') ('A B C D hard D D D\n') ('A B C D merge XXXXX\n') ('A B C D keep XXXXX\n') ('A B C C soft A B C\n') ('A B C C mixed A C C\n') ('A B C C hard C C C\n') ('A B C C merge XXXXX\n') ('A B C C keep A C C\n') ('B B C D soft B B D\n') ('B B C D mixed B D D\n') ('B B C D hard D D D\n') ('B B C D merge D D D\n') ('B B C D keep XXXXX\n') ('B B C C soft B B C\n') ('B B C C mixed B C C\n') ('B B C C hard C C C\n') ('B B C C merge C C C\n') ('B B C C keep B C C\n') ('B C C D soft B C D\n') ('B C C D mixed B D D\n') ('B C C D hard D D D\n') ('B C C D merge XXXXX\n') ('B C C D keep XXXXX\n') ('B C C C soft B C C\n') ('B C C C mixed B C C\n') ('B C C C hard C C C\n') ('B C C C merge B C C\n') ('B C C C keep B C C\n') } do_expansion: False here_end: EOF was_filled: True spids: [111] ) ] ) (C {(test_expect_success)} {(SQ <'setting up branches to test with unmerged entries'>)} { (SQ <'\n'> <' git reset --hard C &&\n'> <' git branch branch1 &&\n'> <' git branch branch2 &&\n'> <' git checkout branch1 &&\n'> <' test_commit B1 file1 &&\n'> <' git checkout branch2 &&\n'> <' test_commit B file1\n'> ) } ) (While cond: [(C {(read)} {(W1)} {(I1)} {(H1)} {(T)} {(opt)} {(W2)} {(I2)} {(H2)})] body: (DoGroup children: [ (C {(test_expect_success)} { (DQ ('check: ') ($ VSub_Name '$W1') (' ') ($ VSub_Name '$I1') (' ') ($ VSub_Name '$H1') (' ') ($ VSub_Name '$T') (' --') ($ VSub_Name '$opt') (' ') ($ VSub_Name '$W2') (' ') ($ VSub_Name '$I2') (' ') ($ VSub_Name '$H2') ) } { (SQ <'\n'> <'\tgit reset --hard B &&\n'> <'\ttest_must_fail git merge branch1 &&\n'> <'\tcat file1 >X_file1 &&\n'> <'\tif test "$W2" != "XXXXX"\n'> <'\tthen\n'> <'\t git reset --$opt $T &&\n'> <'\t if test "$W2" = "X"\n'> <'\t then\n'> <'\t\ttest_cmp file1 X_file1\n'> <'\t else\n'> <'\t\ttest "$(cat file1)" = "$W2"\n'> <'\t fi &&\n'> <'\t git checkout-index -f -- file1 &&\n'> <'\t test "$(cat file1)" = "$I2" &&\n'> <'\t git checkout -f HEAD -- file1 &&\n'> <'\t test "$(cat file1)" = "$H2"\n'> <'\telse\n'> <'\t test_must_fail git reset --$opt $T\n'> <'\tfi\n'> <' '> ) } ) ] spids: [154 202] ) redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: {('X U B C soft XXXXX\n') ('X U B C mixed X C C\n') ('X U B C hard C C C\n') ('X U B C merge C C C\n') ('X U B C keep XXXXX\n') ('X U B B soft XXXXX\n') ('X U B B mixed X B B\n') ('X U B B hard B B B\n') ('X U B B merge B B B\n') ('X U B B keep XXXXX\n') } do_expansion: False here_end: EOF was_filled: True spids: [204] ) ] ) (C {(test_done)}) ] )