(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (FunctionDef do_checkout [] (List (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('exp_branch', {[VarSub 1]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('exp_ref', {[DQ [LIT_CHARS refs/heads/][VarSub exp_branch]]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('exp_sha', {[VarSub 2 test_op=VS_TEST_COLON_HYPHEN {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]})]}]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub 3]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('opts', {[DQ [LIT_CHARS -b]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('opts', {[DQ [VarSub 3]]})]) ) ) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[VarSub opts]} {[VarSub exp_branch]} {[VarSub exp_sha]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[VarSub exp_ref]} {[LIT_DBRACKET_LIKE "="]} {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --symbolic-full-name]} {[LIT_CHARS HEAD]})]} ) (Com {[LIT_CHARS test]} {[VarSub exp_sha]} {[LIT_DBRACKET_LIKE "="]} {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS HEAD]})]} ) ) ) ) ) (FunctionDef test_dirty_unmergeable [] (Pipeline! (Com {[LIT_CHARS git]} {[LIT_CHARS diff]} {[LIT_CHARS --exit-code]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) ) (FunctionDef setup_dirty_unmergeable [] (Com {[LIT_CHARS echo]} {[LIT_CHARS change2]} < (FilenameRedirectNode filename={[LIT_CHARS file1]} >"> 1), > ) ) (FunctionDef test_dirty_mergeable [] (Pipeline! (Com {[LIT_CHARS git]} {[LIT_CHARS diff]} {[LIT_CHARS --cached]} {[LIT_CHARS --exit-code]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) ) (FunctionDef setup_dirty_mergeable [] (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[LIT_CHARS file2]} < (FilenameRedirectNode filename={[LIT_CHARS file2]} "> 1), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS file2]} ) ) ) (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 ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect \"fatal: A branch named ">] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ actual &&\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 expect &&\n"> actual &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_done]} ) )