(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (FunctionDef verify_notes [] (List (= scope= flags=0 words=[] bindings=[('notes_ref', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('commit', {[DQ [VarSub 2]]})]) (AndOr OP_AND_IF (If (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [LIT_CHARS expect_notes_][VarSub notes_ref]]}) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS -c]} {[LIT_CHARS core.notesRef] [LIT_OTHER "="] [DQ [LIT_CHARS refs/notes/][VarSub notes_ref]]} {[LIT_CHARS notes]}) (Com {[LIT_CHARS sort]} < (FilenameRedirectNode filename={[DQ [LIT_CHARS output_notes_][VarSub notes_ref]]} "> 1), > ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test_cmp]} {[DQ [LIT_CHARS expect_notes_][VarSub notes_ref]]} {[DQ [LIT_CHARS output_notes_][VarSub notes_ref]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS -c]} {[LIT_CHARS core.notesRef] [LIT_OTHER "="] [DQ [LIT_CHARS refs/notes/][VarSub notes_ref]]} {[LIT_CHARS log]} {[LIT_CHARS --format] [LIT_OTHER "="] [DQ [LIT_CHARS "%H %s%n%N"]]} {[DQ [VarSub commit]]} < (FilenameRedirectNode filename={[DQ [LIT_CHARS output_log_][VarSub notes_ref]]} "> 1), > ) (Com {[LIT_CHARS test_cmp]} {[DQ [LIT_CHARS expect_log_][VarSub notes_ref]]} {[DQ [LIT_CHARS output_log_][VarSub notes_ref]]}) ) ) ) ) (FunctionDef verify_fanout [] (List (= scope= flags=0 words=[] bindings=[('notes_ref', {[DQ [VarSub 1]]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --quiet]} {[LIT_CHARS --verify]} {[DQ [LIT_CHARS refs/notes/][VarSub notes_ref]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS ls-tree]} {[LIT_CHARS -r]} {[LIT_CHARS --name-only]} {[DQ [LIT_CHARS refs/notes/][VarSub notes_ref]]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS path]}) (Case to_match={[DQ [VarSub path]]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_CHARS /] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_OTHER ":"]} {[LIT_CHARS true]}) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Invalid path "][\ LIT_ESCAPED_CHAR "\\\""][VarSub path][\ LIT_ESCAPED_CHAR "\\\""]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) ) ) ) ) ) (FunctionDef verify_no_fanout [] (List (= scope= flags=0 words=[] bindings=[('notes_ref', {[DQ [VarSub 1]]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --quiet]} {[LIT_CHARS --verify]} {[DQ [LIT_CHARS refs/notes/][VarSub notes_ref]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS ls-tree]} {[LIT_CHARS -r]} {[LIT_CHARS --name-only]} {[DQ [LIT_CHARS refs/notes/][VarSub notes_ref]]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS path]}) (Case to_match={[DQ [VarSub path]]}, pat_word_list=[[{[LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"] [LIT_OTHER "?"]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_OTHER ":"]} {[LIT_CHARS true]}) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Invalid path "][\ LIT_ESCAPED_CHAR "\\\""][VarSub path][\ LIT_ESCAPED_CHAR "\\\""]]}) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ /dev/null &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('commit_sha1', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS commit1] [LIT_OTHER "^"] [LIT_LBRACE "{"] [LIT_CHARS commit] [LIT_RBRACE "}"]})]})]) (= scope= flags=0 words=[] bindings=[('commit_sha2', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS commit2] [LIT_OTHER "^"] [LIT_LBRACE "{"] [LIT_CHARS commit] [LIT_RBRACE "}"]})]})]) (= scope= flags=0 words=[] bindings=[('commit_sha3', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS commit3] [LIT_OTHER "^"] [LIT_LBRACE "{"] [LIT_CHARS commit] [LIT_RBRACE "}"]})]})]) (= scope= flags=0 words=[] bindings=[('commit_sha4', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS commit4] [LIT_OTHER "^"] [LIT_LBRACE "{"] [LIT_CHARS commit] [LIT_RBRACE "}"]})]})]) (= scope= flags=0 words=[] bindings=[('commit_sha5', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS commit5] [LIT_OTHER "^"] [LIT_LBRACE "{"] [LIT_CHARS commit] [LIT_RBRACE "}"]})]})]) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "aed91155c7a72c2188e781fdf40e0f3761b299db "][VarSub commit_sha5][LIT_CHARS "\n"][LIT_CHARS "99fab268f9d7ee7b011e091a436c78def8eeee69 "][VarSub commit_sha4][LIT_CHARS "\n"][LIT_CHARS "953c20ae26c7aa0b428c20693fe38bc687f9d1a9 "][VarSub commit_sha3][LIT_CHARS "\n"][LIT_CHARS "6358796131b8916eaa2dde6902642942a1cb37e1 "][VarSub commit_sha2][LIT_CHARS "\n"][LIT_CHARS "b02d459c32f0e68f2fe0981033bb34f38776ba47 "][VarSub commit_sha1][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS sort]} < (FilenameRedirectNode filename={[LIT_CHARS expect_notes_x]} "> 1), > ) ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect_log_x]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub commit_sha5][LIT_CHARS " commit5\n"][LIT_CHARS "notes for commit5\n"][LIT_CHARS "\n"][VarSub commit_sha4][LIT_CHARS " commit4\n"][LIT_CHARS "notes for commit4\n"][LIT_CHARS "\n"][VarSub commit_sha3][LIT_CHARS " commit3\n"][LIT_CHARS "notes for commit3\n"][LIT_CHARS "\n"][VarSub commit_sha2][LIT_CHARS " commit2\n"][LIT_CHARS "notes for commit2\n"][LIT_CHARS "\n"][VarSub commit_sha1][LIT_CHARS " commit1\n"][LIT_CHARS "notes for commit1\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('num', {[LIT_CHARS 300]})]) (Com {[LIT_CHARS cp]} {[LIT_CHARS expect_log_x]} {[LIT_CHARS expect_log_y]}) (Com {[LIT_CHARS test_expect_success]} {[SQ y)">]} {[SQ /dev/null &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ y)">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ x)">]} {[SQ ]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "9f506ee70e20379d7f78204c77b334f43d77410d "][VarSub commit_sha3][LIT_CHARS "\n"][LIT_CHARS "23a47d6ea7d589895faf800752054818e1e7627b "][VarSub commit_sha2][LIT_CHARS "\n"][LIT_CHARS "b02d459c32f0e68f2fe0981033bb34f38776ba47 "][VarSub commit_sha1][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS sort]} < (FilenameRedirectNode filename={[LIT_CHARS expect_notes_z]} "> 1), > ) ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect_log_z]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub commit_sha5][LIT_CHARS " commit5\n"][LIT_CHARS "\n"][VarSub commit_sha4][LIT_CHARS " commit4\n"][LIT_CHARS "\n"][VarSub commit_sha3][LIT_CHARS " commit3\n"][LIT_CHARS "notes for commit3\n"][LIT_CHARS "\n"][LIT_CHARS "appended notes for commit3\n"][LIT_CHARS "\n"][VarSub commit_sha2][LIT_CHARS " commit2\n"][LIT_CHARS "new notes for commit2\n"][LIT_CHARS "\n"][VarSub commit_sha1][LIT_CHARS " commit1\n"][LIT_CHARS "notes for commit1\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ z)">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cp]} {[LIT_CHARS expect_log_z]} {[LIT_CHARS expect_log_m]}) (Com {[LIT_CHARS test_expect_success]} {[SQ z)">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect_log_w]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub commit_sha5][LIT_CHARS " commit5\n"][LIT_CHARS "\n"][VarSub commit_sha4][LIT_CHARS " commit4\n"][LIT_CHARS "other notes for commit4\n"][LIT_CHARS "\n"][VarSub commit_sha3][LIT_CHARS " commit3\n"][LIT_CHARS "other notes for commit3\n"][LIT_CHARS "\n"][VarSub commit_sha2][LIT_CHARS " commit2\n"][LIT_CHARS "notes for commit2\n"][LIT_CHARS "\n"][VarSub commit_sha1][LIT_CHARS " commit1\n"][LIT_CHARS "other notes for commit1\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ w)">]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect_log_m]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub commit_sha5][LIT_CHARS " commit5\n"][LIT_CHARS "\n"][VarSub commit_sha4][LIT_CHARS " commit4\n"][LIT_CHARS "other notes for commit4\n"][LIT_CHARS "\n"][VarSub commit_sha3][LIT_CHARS " commit3\n"][LIT_CHARS "other notes for commit3\n"][LIT_CHARS "\n"][VarSub commit_sha2][LIT_CHARS " commit2\n"][LIT_CHARS "new notes for commit2\n"][LIT_CHARS "\n"][VarSub commit_sha1][LIT_CHARS " commit1\n"][LIT_CHARS "other notes for commit1\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ w)">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect_log_m]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub commit_sha5][LIT_CHARS " commit5\n"][LIT_CHARS "\n"][VarSub commit_sha4][LIT_CHARS " commit4\n"][LIT_CHARS "\n"][VarSub commit_sha3][LIT_CHARS " commit3\n"][LIT_CHARS "notes for commit3\n"][LIT_CHARS "\n"][LIT_CHARS "appended notes for commit3\n"][LIT_CHARS "\n"][VarSub commit_sha2][LIT_CHARS " commit2\n"][LIT_CHARS "new notes for commit2\n"][LIT_CHARS "\n"][VarSub commit_sha1][LIT_CHARS " commit1\n"][LIT_CHARS "other notes for commit1\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ w)">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect_log_m]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub commit_sha5][LIT_CHARS " commit5\n"][LIT_CHARS "\n"][VarSub commit_sha4][LIT_CHARS " commit4\n"][LIT_CHARS "other notes for commit4\n"][LIT_CHARS "\n"][VarSub commit_sha3][LIT_CHARS " commit3\n"][LIT_CHARS "other notes for commit3\n"][LIT_CHARS "\n"][LIT_CHARS "notes for commit3\n"][LIT_CHARS "\n"][LIT_CHARS "appended notes for commit3\n"][LIT_CHARS "\n"][VarSub commit_sha2][LIT_CHARS " commit2\n"][LIT_CHARS "new notes for commit2\n"][LIT_CHARS "\n"][VarSub commit_sha1][LIT_CHARS " commit1\n"][LIT_CHARS "other notes for commit1\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ w)">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect_log_m]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub commit_sha5][LIT_CHARS " commit5\n"][LIT_CHARS "\n"][VarSub commit_sha4][LIT_CHARS " commit4\n"][LIT_CHARS "other notes for commit4\n"][LIT_CHARS "\n"][VarSub commit_sha3][LIT_CHARS " commit3\n"][LIT_CHARS "appended notes for commit3\n"][LIT_CHARS "notes for commit3\n"][LIT_CHARS "other notes for commit3\n"][LIT_CHARS "\n"][VarSub commit_sha2][LIT_CHARS " commit2\n"][LIT_CHARS "new notes for commit2\n"][LIT_CHARS "\n"][VarSub commit_sha1][LIT_CHARS " commit1\n"][LIT_CHARS "other notes for commit1\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ w)">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ w)">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Pipeline (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub commit_sha3][LIT_CHARS "\n"][VarSub commit_sha4][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS sort]} < (FilenameRedirectNode filename={[LIT_CHARS expect_conflicts]} "> 1), > ) ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect_conflict_] [VarSub commit_sha3]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "<<<<<<< refs/notes/m\n"][LIT_CHARS "other notes for commit3\n"][LIT_CHARS "=======\n"][LIT_CHARS "notes for commit3\n"][LIT_CHARS "\n"][LIT_CHARS "appended notes for commit3\n"][LIT_CHARS ">>>>>>> refs/notes/z\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect_conflict_] [VarSub commit_sha4]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "other notes for commit4\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ output_conflicts &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expect_log_m]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub commit_sha5][LIT_CHARS " commit5\n"][LIT_CHARS "\n"][VarSub commit_sha4][LIT_CHARS " commit4\n"][LIT_CHARS "other notes for commit4\n"][LIT_CHARS "\n"][VarSub commit_sha3][LIT_CHARS " commit3\n"][LIT_CHARS "other notes for commit3\n"][LIT_CHARS "\n"][LIT_CHARS "appended notes for commit3\n"][LIT_CHARS "\n"][VarSub commit_sha2][LIT_CHARS " commit2\n"][LIT_CHARS "new notes for commit2\n"][LIT_CHARS "\n"][VarSub commit_sha1][LIT_CHARS " commit1\n"][LIT_CHARS "other notes for commit1\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ w)">]} {[SQ .git/NOTES_MERGE_WORKTREE/$commit_sha3 < ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_done]}) )