(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS exec]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} 0), > ) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (Com {[LIT_CHARS .]} {[DQ [VarSub TEST_DIRECTORY][LIT_CHARS /lib-gpg.sh]]}) (FunctionDef add_and_commit_file [] (List (= scope= flags=0 words=[] bindings=[('_file', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('_msg', {[DQ [VarSub 2]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[VarSub _file]}) (Com {[LIT_CHARS return]} {[VarSub ?]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test_tick]}) (Com {[LIT_CHARS return]} {[VarSub ?]}) ) (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS --quiet]} {[LIT_CHARS -m]} {[DQ [VarSub _file][LIT_CHARS ": "][VarSub _msg]]}) ) ) (FunctionDef commit_buffer_contains_parents [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS commit]} {[DQ [VarSub 1]]} < (FilenameRedirectNode filename={[LIT_CHARS payload]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS payload]} 0), (FilenameRedirectNode filename={[LIT_CHARS actual]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS shift]}) (AndOr OP_AND_IF (For _parent do_arg_iter) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "parent "][VarSub _parent]]}) ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expected]} {[LIT_CHARS actual]}) ) ) ) ) ) (FunctionDef commit_peeling_shows_parents [] (List (= scope= flags=0 words=[] bindings=[('_parent_number', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('_commit', {[DQ [VarSub 1]]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS shift]}) (AndOr OP_AND_IF (For _parent do_arg_iter) (List (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('_found', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[VarSub _commit] [LIT_OTHER "^"] [VarSub _parent_number]})]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[DQ [VarSub _found]]} {[LIT_OTHER "="]} {[DQ [VarSub _parent]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) (= scope= flags=0 words=[] bindings=[('_parent_number', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub _parent_number]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) (Com {[LIT_CHARS test_must_fail]} {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[VarSub _commit] [LIT_OTHER "^"] [VarSub _parent_number]}) ) ) ) ) (FunctionDef commit_has_parents [] (AndOr OP_AND_IF (Com {[LIT_CHARS commit_buffer_contains_parents]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS commit_peeling_shows_parents]} {[DQ [VarSub @]]}) ) ) (= scope= flags=0 words=[] bindings=[('HASH1', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('HASH2', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('HASH3', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('HASH4', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('HASH5', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('HASH6', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('HASH7', {[SQ ]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >hello &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\n"> hello.new &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\n"> >hello &&\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 cat]} < (FilenameRedirectNode filename={[LIT_CHARS tag.sig]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "object "][VarSub HASH2][LIT_CHARS "\n"][LIT_CHARS "type commit\n"][LIT_CHARS "tag mytag\n"][LIT_CHARS "tagger T A Gger <> 0 +0000\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ .git/refs/tags/mytag 2>message\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ fsck_master.out &&\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_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 output.txt &&\n"> para3.txt &&\n"> output.txt &&\n"> para3.txt &&\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 file &&\n"> file &&\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 /dev/null 2>&1\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ $BLOB\" &&\n"> $REPLACED\" &&\n"> $H1\" &&\n"> $S\" &&\n"> $HASH1\"\n"> expected &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ $BLOB (blob)\" &&\n"> $REPLACED (blob)\" &&\n"> $H1 (commit)\" &&\n"> $S (commit)\" &&\n"> $HASH1 (commit)\"\n"> expected &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ \"$1.new\"\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_expect_success]} {[LIT_CHARS GPG]} {[SQ ]} {[SQ >hello &&\n"> >hello &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS GPG]} {[SQ ]} {[SQ orig &&\n"> repl &&\n"> expected &&\n"> >expected &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS GPG]} {[SQ ]} {[SQ >hello &&\n"> >hello &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS GPG]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_done]}) )