(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]}) (FunctionDef add_line_into_file [] (List (= scope= flags=0 words=[] bindings=[('_line', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('_file', {[VarSub 2]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub _file]]} {[LIT_OTHER "]"]}) (List (AndOr OP_OR_IF (Com {[LIT_CHARS echo]} {[DQ [VarSub _line]]} < (FilenameRedirectNode filename={[VarSub _file]} >"> 1), > ) (Com {[LIT_CHARS return]} {[VarSub ?]}) ) (= scope= flags=0 words=[] bindings=[('MSG', {[DQ [LIT_CHARS "Add <"][VarSub _line][LIT_CHARS "> into <"][VarSub _file][LIT_CHARS ">."]]})]) ) (ElseTrue) (List (AndOr OP_OR_IF (Com {[LIT_CHARS echo]} {[DQ [VarSub _line]]} < (FilenameRedirectNode filename={[VarSub _file]} "> 1), > ) (Com {[LIT_CHARS return]} {[VarSub ?]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[VarSub _file]}) (Com {[LIT_CHARS return]} {[VarSub ?]}) ) (= scope= flags=0 words=[] bindings=[('MSG', {[DQ [LIT_CHARS "Create file <"][VarSub _file][LIT_CHARS "> with <"][VarSub _line][LIT_CHARS "> inside."]]})]) ) ) (Com {[LIT_CHARS test_tick]}) (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS --quiet]} {[LIT_CHARS -m]} {[DQ [VarSub MSG]]} {[VarSub _file]}) ) ) (= 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 ]})]) (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 /dev/null)\" &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ branch.expect &&\n"> branch.output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ branch.expect &&\n"> > branch.expect &&\n"> branch.output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ branch.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 branch.output &&\n"> /dev/null &&\n"> branch.output &&\n"> /dev/null\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ branch.output &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ branch.output &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ branch.output &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ hello &&\n"> branch.output &&\n"> /dev/null &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ test_script.sh &&\n"> /dev/null\" >> test_script.sh &&\n"> > test_script.sh &&\n"> my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ test_script.sh &&\n"> /dev/null\" >> test_script.sh &&\n"> > test_script.sh &&\n"> my_bisect_log.txt &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('HASH5', {[SQ ]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> log_to_replay.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('HASH6', {[SQ ]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ test_script.sh &&\n"> /dev/null && exit 125\" >> test_script.sh &&\n"> /dev/null\" >> test_script.sh &&\n"> > test_script.sh &&\n"> my_bisect_log.txt\n"> ]}) (= scope= flags=0 words=[] bindings=[('HASH7', {[SQ ]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ test_script.sh &&\n"> /dev/null && exit 125\" >> test_script.sh &&\n"> /dev/null && exit 125\" >> test_script.sh &&\n"> /dev/null\" >> test_script.sh &&\n"> > test_script.sh &&\n"> my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ rev_list_error &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> my_bisect_log.txt 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> my_bisect_log.txt 2>&1 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ merge_bases.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> my_bisect_log2.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> my_bisect_log2.txt &&\n"> my_bisect_log3.txt &&\n"> my_bisect_log4.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ my_bisect_log.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ error.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../nocheckout.log\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ../defaulted.log\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ missing/MISSING &&\n"> ]}) (Com {[LIT_CHARS echo]} {[DQ ]} < (FilenameRedirectNode filename={[LIT_CHARS expected.ok]} "> 1), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected.missing-tree.default]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "fatal: unable to read tree 39f7e61a724187ab767d2e08442d9b6b9dab587d\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ error.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ error.txt &&\n"> ]}) (FunctionDef check_same [] (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Checking "][VarSub 1][LIT_CHARS " is the same as "][VarSub 2]]}) (Com {[LIT_CHARS test_cmp_rev]} {[DQ [VarSub 1]]} {[DQ [VarSub 2]]}) ) ) (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 ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\tgit bisect reset &&\n"][LIT_CHARS "\tgit checkout broken &&\n"][LIT_CHARS "\tgit bisect start broken master --no-checkout &&\n"][LIT_CHARS "\tgit bisect run "][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS SHELL_PATH][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " -c '\n"][LIT_CHARS "\t\tGOOD="][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "(git for-each-ref "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "--format=%(objectname)"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " refs/bisect/good-*) &&\n"][LIT_CHARS "\t\tgit rev-list --objects BISECT_HEAD --not "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "GOOD >tmp."][\ LIT_ESCAPED_CHAR "\\$"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS " &&\n"][LIT_CHARS "\t\tgit pack-objects --stdout >/dev/null < tmp."][\ LIT_ESCAPED_CHAR "\\$"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "\n"][LIT_CHARS "\t\trc="][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "?\n"][LIT_CHARS "\t\trm -f tmp."][\ LIT_ESCAPED_CHAR "\\$"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "\n"][LIT_CHARS "\t\ttest "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "rc = 0' &&\n"][LIT_CHARS "\tcheck_same BROKEN_HASH6 bisect/bad &&\n"][LIT_CHARS "\tgit bisect reset\n"]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected.bisect-log]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "# bad: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into .\n"][LIT_CHARS "# good: [7b7f204a749c3125d5224ed61ea2ae1187ad046f] Add <2: A new day for git> into .\n"][LIT_CHARS "git bisect start '32a594a3fdac2d57cf6d02987e30eec68511498c' '7b7f204a749c3125d5224ed61ea2ae1187ad046f'\n"][LIT_CHARS "# good: [3de952f2416b6084f557ec417709eac740c6818c] Add <3: Another new day for git> into .\n"][LIT_CHARS "git bisect good 3de952f2416b6084f557ec417709eac740c6818c\n"][LIT_CHARS "# first bad commit: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into .\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ bisect-log.txt &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected.bisect-skip-log]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "# bad: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into .\n"][LIT_CHARS "# good: [7b7f204a749c3125d5224ed61ea2ae1187ad046f] Add <2: A new day for git> into .\n"][LIT_CHARS "git bisect start '32a594a3fdac2d57cf6d02987e30eec68511498c' '7b7f204a749c3125d5224ed61ea2ae1187ad046f'\n"][LIT_CHARS "# skip: [3de952f2416b6084f557ec417709eac740c6818c] Add <3: Another new day for git> into .\n"][LIT_CHARS "git bisect skip 3de952f2416b6084f557ec417709eac740c6818c\n"][LIT_CHARS "# only skipped commits left to test\n"][LIT_CHARS "# possible first bad commit: [32a594a3fdac2d57cf6d02987e30eec68511498c] Add <4: Ciao for now> into .\n"][LIT_CHARS "# possible first bad commit: [3de952f2416b6084f557ec417709eac740c6818c] Add <3: Another new day for git> into .\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ bisect-skip-log.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 ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ bisect_result &&\n"> log_to_replay.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ bisect_result &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> expected &&\n"> actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ bisect_result &&\n"> log_to_replay.txt &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ bisect_result &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ bisect_result &&\n"> log_to_replay.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 actual &&\n"> expected &&\n"> actual &&\n"> expected &&\n"> actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )