(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (FunctionDef author_header [] (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS commit]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} ) ) ) (FunctionDef message_body [] (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS commit]} {[DQ [VarSub 1]]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ foo &&\n"> &&\n"> >foo &&\n"> expect &&\n"> actual &&\n"> expect &&\n"> actual &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >foo &&\n"> $GIT_AUTHOR_DATE\" >expect &&\n"> actual &&\n"> expect &&\n"> actual &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >foo &&\n"> expect &&\n"> actual &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >foo &&\n"> $GIT_AUTHOR_DATE\" >expect &&\n"> actual &&\n"> expect &&\n"> actual &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >foo &&\n"> expect &&\n"> actual &&\n"> expect &&\n"> actual &&\n"> ]} ) (FunctionDef sha1_file [] (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub *]]} ) (Com {[LIT_CHARS sed]} {[DQ [LIT_CHARS "s#..#.git/objects/&/#"]]} ) ) ) (FunctionDef remove_object [] (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[ComSub (Com {[LIT_CHARS sha1_file]} {[DQ [VarSub *]]})]} ) ) (FunctionDef no_reflog [] (AndOr OP_AND_IF (Com {[LIT_CHARS cp]} {[LIT_CHARS .git/config]} {[LIT_CHARS .git/config.saved]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "[core] logallrefupdates = false"]]} < (FilenameRedirectNode filename={[LIT_CHARS .git/config]} >"> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_when_finished]} {[DQ [LIT_CHARS "mv -f .git/config.saved .git/config"]]} ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -e]} {[LIT_CHARS .git/logs]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS mv]} {[LIT_CHARS .git/logs]} {[LIT_CHARS .]} ) (Com {[LIT_CHARS test_when_finished]} {[DQ [LIT_CHARS "mv logs .git/"]]} ) ) ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ tmp &&\n"> empty-author &&\n"> >foo &&\n"> err &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ tmp &&\n"> malformed &&\n"> >foo &&\n"> err &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >foo &&\n"> $GIT_AUTHOR_DATE\" >expect &&\n"> actual &&\n"> expect &&\n"> actual &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >foo &&\n"> \"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >foo &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >foo &&\n"> \" &&\n"> .git/CHERRY_PICK_HEAD &&\n"> .git/MERGE_MSG &&\n"> >foo &&\n"> expect &&\n"> actual &&\n"> expect &&\n"> actual &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ .git/CHERRY_PICK_HEAD &&\n"> >foo &&\n"> $GIT_AUTHOR_DATE\" >expect &&\n"> actual &&\n"> ]} ) (Com {[LIT_CHARS test_done]} ) )