(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (FunctionDef check_resolve_undo [] (List (= scope= flags=0 words=[] bindings=[('msg', {[VarSub 1]})]) (Com {[LIT_CHARS shift]} ) (AndOr OP_AND_IF (While (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 0]}], [{[LIT_CHARS 1]}, {[LIT_CHARS 2]}, {[LIT_CHARS 3]}]] (Com {[LIT_CHARS break]} ) (Com {[LIT_CHARS die]} {[DQ [LIT_CHARS "Bug in check-resolve-undo test"]]} ) ) (List (= scope= flags=0 words=[] bindings=[('path', {[VarSub 1]})]) (Com {[LIT_CHARS shift]} ) (For stage [{[LIT_CHARS 1]}, {[LIT_CHARS 2]}, {[LIT_CHARS 3]}]) (List (= scope= flags=0 words=[] bindings=[('sha1', {[VarSub 1]})]) (Com {[LIT_CHARS shift]} ) (Case to_match={[DQ [VarSub sha1]]}, pat_word_list=[[{[SQ ]}]] (Com {[LIT_CHARS continue]} ) ) (= scope= flags=0 words=[] bindings=[('sha1', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[DQ [VarSub sha1]]})]})]) (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "100644 %s %s"][\ LIT_ESCAPED_CHAR "\\t"][LIT_CHARS "%s"][\ LIT_ESCAPED_CHAR "\\n"]]} {[VarSub sha1]} {[VarSub stage]} {[VarSub path]} ) ) ) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS --resolve-undo]} < (FilenameRedirectNode filename={[DQ [VarSub msg][LIT_CHARS .actual]]} "> 1), > ) (Com {[LIT_CHARS test_cmp]} {[DQ [VarSub msg][LIT_CHARS .expect]]} {[DQ [VarSub msg][LIT_CHARS .actual]]} ) ) ) ) ) (FunctionDef prime_resolve_undo [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS reset]} {[LIT_CHARS --hard]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS second] [LIT_OTHER "^"] [LIT_CHARS 0]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_tick]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_must_fail]} {[LIT_CHARS git]} {[LIT_CHARS merge]} {[LIT_CHARS third] [LIT_OTHER "^"] [LIT_CHARS 0]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[LIT_CHARS merge]} {[LIT_CHARS does]} {[LIT_CHARS not]} {[LIT_CHARS leave]} {[LIT_CHARS anything]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS check_resolve_undo]} {[LIT_CHARS empty]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[LIT_CHARS different]} < (FilenameRedirectNode filename={[LIT_CHARS fi/le]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS fi/le]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[LIT_CHARS resolving]} {[LIT_CHARS records]} ) (Com {[LIT_CHARS check_resolve_undo]} {[LIT_CHARS recorded]} {[LIT_CHARS fi/le]} {[LIT_CHARS initial] [LIT_OTHER ":"] [LIT_CHARS fi/le]} {[LIT_CHARS second] [LIT_OTHER ":"] [LIT_CHARS fi/le]} {[LIT_CHARS third] [LIT_OTHER ":"] [LIT_CHARS fi/le]} ) ) ) ) ) ) ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS setup]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> expect &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> expect &&\n"> ]} ) (Com {[LIT_CHARS test_done]} ) )