(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (FunctionDef check_have [] (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('gaah', {[SQ ]})]) (AndOr OP_AND_IF (For N [{[DQ [VarSub @]]}]) (AndOr OP_AND_IF (Com {[LIT_CHARS eval]} {[DQ [LIT_CHARS "o="][\ LIT_ESCAPED_CHAR "\\$"][VarSub N]]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS -t]} {[VarSub o]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS Gaah]} {[VarSub N]} ) (= scope= flags=0 words=[] bindings=[('gaah', {[VarSub N]})]) (Com {[LIT_CHARS break]} ) ) ) ) ) (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub gaah]]} ) ) ) ) (FunctionDef check_fsck [] (List (= scope= flags=0 words=[] bindings=[('output', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS fsck]} {[LIT_CHARS --full]})]})]) (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[SQ ]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub output]]} ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub output]]} ) (Com {[LIT_CHARS grep]} {[DQ [VarSub 1]]} ) ) ) ) ) (FunctionDef corrupt [] (List (= scope= flags=0 words=[] bindings=[('aa', {[VarSub 1 transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS "??????????????????????????????????????"]}]]}), ('zz', {[VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "??"]}]]})]) (Com {[LIT_CHARS mv]} {[LIT_CHARS .git/objects/] [VarSub aa] [LIT_CHARS /] [VarSub zz]} {[LIT_CHARS .git/] [VarSub aa] [VarSub zz]} ) ) ) (FunctionDef recover [] (List (= scope= flags=0 words=[] bindings=[('aa', {[VarSub 1 transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS "??????????????????????????????????????"]}]]}), ('zz', {[VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "??"]}]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS .git/objects/] [VarSub aa]} ) (Com {[LIT_CHARS mv]} {[LIT_CHARS .git/] [VarSub aa] [VarSub zz]} {[LIT_CHARS .git/objects/] [VarSub aa] [LIT_CHARS /] [VarSub zz]} ) ) ) (FunctionDef check_dont_have [] (List (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('gaah', {[SQ ]})]) (For N [{[DQ [VarSub @]]}]) (List (Com {[LIT_CHARS eval]} {[DQ [LIT_CHARS "o="][\ LIT_ESCAPED_CHAR "\\$"][VarSub N]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS -t]} {[VarSub o]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS Gaah]} {[VarSub N]} ) (= scope= flags=0 words=[] bindings=[('gaah', {[VarSub N]})]) (Com {[LIT_CHARS break]} ) ) ) ) ) ) (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub gaah]]} ) ) ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS setup]} {[SQ C &&\n"> A/D &&\n"> A/B/E &&\n"> F &&\n"> A/G &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS rewind]} {[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 ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ C &&\n"> C &&\n"> C &&\n"> output &&\n"> output &&\n"> ]} ) (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 ]} ) (Com {[LIT_CHARS test_done]} ) )