(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (= scope= flags=0 words=[] bindings=[('number_of_commits', {[LIT_CHARS 100]})]) (FunctionDef start_note_commit [] (AndOr OP_AND_IF (Com {[LIT_CHARS test_tick]} ) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='INPUT_END' do_expansion=True body_word={[DQ [LIT_CHARS "commit refs/notes/commits\n"][LIT_CHARS "committer "][VarSub GIT_COMMITTER_NAME][LIT_CHARS " <"][VarSub GIT_COMMITTER_EMAIL][LIT_CHARS "> "][VarSub GIT_COMMITTER_DATE][LIT_CHARS "\n"][LIT_CHARS "data < 0), > ) ) ) (FunctionDef verify_notes [] (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS log]} ) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS "^ "]]} < (FilenameRedirectNode filename={[LIT_CHARS output]} "> 1), > ) ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('i', {[VarSub number_of_commits]})]) (AndOr OP_AND_IF (While (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub i]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " commit #"][VarSub i]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " note for commit #"][VarSub i]]} ) (= scope= flags=0 words=[] bindings=[('i', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expect]} {[LIT_CHARS output]} ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "setup: create "][VarSub number_of_commits][LIT_CHARS " commits"]]} {[SQ $GIT_COMMITTER_DATE\n"> $GIT_COMMITTER_DATE\n"> ]} ) (FunctionDef test_sha1_based [] (Pipeline (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS start_note_commit]} ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('nr', {[VarSub number_of_commits]})]) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS refs/heads/master]} ) (While (Com {[LIT_CHARS read]} {[LIT_CHARS sha1]} ) (List (= scope= flags=0 words=[] bindings=[('note_path', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub sha1]]}) (Com {[LIT_CHARS sed]} {[DQ [VarSub 1]]}) )]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='INPUT_END' do_expansion=True body_word={[DQ [LIT_CHARS "M 100644 inline "][VarSub note_path][LIT_CHARS "\n"][LIT_CHARS "data < 0), > ) (= scope= flags=0 words=[] bindings=[('nr', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub nr]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) ) ) ) ) ) (Com {[LIT_CHARS git]} {[LIT_CHARS fast-import]} {[LIT_CHARS --quiet]} ) ) ) (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 ]} ) (FunctionDef test_same_notes [] (Pipeline (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS start_note_commit]} ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('nr', {[VarSub number_of_commits]})]) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS refs/heads/master]} ) (While (Com {[LIT_CHARS read]} {[LIT_CHARS sha1]} ) (List (= scope= flags=0 words=[] bindings=[('first_note_path', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub sha1]]}) (Com {[LIT_CHARS sed]} {[DQ [VarSub 1]]}) )]})]) (= scope= flags=0 words=[] bindings=[('second_note_path', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub sha1]]}) (Com {[LIT_CHARS sed]} {[DQ [VarSub 2]]}) )]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='INPUT_END' do_expansion=True body_word={[DQ [LIT_CHARS "M 100644 inline "][VarSub second_note_path][LIT_CHARS "\n"][LIT_CHARS "data < 0), > ) (= scope= flags=0 words=[] bindings=[('nr', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub nr]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) ) ) ) ) ) (Com {[LIT_CHARS git]} {[LIT_CHARS fast-import]} {[LIT_CHARS --quiet]} ) ) ) (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 ]} ) (FunctionDef test_concatenated_notes [] (Pipeline (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS start_note_commit]} ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('nr', {[VarSub number_of_commits]})]) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS refs/heads/master]} ) (While (Com {[LIT_CHARS read]} {[LIT_CHARS sha1]} ) (List (= scope= flags=0 words=[] bindings=[('first_note_path', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub sha1]]}) (Com {[LIT_CHARS sed]} {[DQ [VarSub 1]]}) )]})]) (= scope= flags=0 words=[] bindings=[('second_note_path', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub sha1]]}) (Com {[LIT_CHARS sed]} {[DQ [VarSub 2]]}) )]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='INPUT_END' do_expansion=True body_word={[DQ [LIT_CHARS "M 100644 inline "][VarSub second_note_path][LIT_CHARS "\n"][LIT_CHARS "data < 0), > ) (= scope= flags=0 words=[] bindings=[('nr', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub nr]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) ) ) ) ) ) (Com {[LIT_CHARS git]} {[LIT_CHARS fast-import]} {[LIT_CHARS --quiet]} ) ) ) (FunctionDef verify_concatenated_notes [] (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS log]} ) (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS "^ "]]} < (FilenameRedirectNode filename={[LIT_CHARS output]} "> 1), > ) ) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('i', {[VarSub number_of_commits]})]) (AndOr OP_AND_IF (While (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub i]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " commit #"][VarSub i]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " first note for commit #"][VarSub i]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " "]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " second note for commit #"][VarSub i]]} ) (= scope= flags=0 words=[] bindings=[('i', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) ) ) ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expect]} {[LIT_CHARS output]} ) ) ) ) ) (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_done]} ) )