(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: { (SQ (Token id: Id.Lit_Chars val: 'Test notes merging with auto-resolving strategies' span_id: 15 ) ) } spids: [13] ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup commits' span_id:30))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:34) (Token id:Id.Lit_Chars val:'\ttest_commit 1st &&\n' span_id:35) (Token id:Id.Lit_Chars val:'\ttest_commit 2nd &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\ttest_commit 3rd &&\n' span_id:37) (Token id:Id.Lit_Chars val:'\ttest_commit 4th &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\ttest_commit 5th &&\n' span_id:39) (Token id:Id.Lit_Chars val:'\ttest_commit 6th &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\ttest_commit 7th &&\n' span_id:41) (Token id:Id.Lit_Chars val:'\ttest_commit 8th &&\n' span_id:42) (Token id:Id.Lit_Chars val:'\ttest_commit 9th &&\n' span_id:43) (Token id:Id.Lit_Chars val:'\ttest_commit 10th &&\n' span_id:44) (Token id:Id.Lit_Chars val:'\ttest_commit 11th &&\n' span_id:45) (Token id:Id.Lit_Chars val:'\ttest_commit 12th &&\n' span_id:46) (Token id:Id.Lit_Chars val:'\ttest_commit 13th &&\n' span_id:47) (Token id:Id.Lit_Chars val:'\ttest_commit 14th &&\n' span_id:48) (Token id:Id.Lit_Chars val:'\ttest_commit 15th\n' span_id:49) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha1) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:54) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(1st) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [53] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha2) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:67) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(2nd) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [66] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha3) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:80) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(3rd) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [79] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha4) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:93) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(4th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [92] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha5) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:106) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(5th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [105] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha6) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:119) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(6th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [118] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha7) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:132) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(7th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [131] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha8) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:145) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(8th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [144] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha9) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:158) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(9th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [157] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha10) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:171) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(10th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [170] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha11) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:184) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(11th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [183] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha12) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:197) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(12th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [196] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha13) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:210) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(13th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [209] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha14) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:223) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(14th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [222] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha15) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:236) command_list: (command.CommandList children: [ (C {(git)} {(rev-parse)} {(15th) (Id.Lit_Other '^') (Id.Lit_LBrace '{') (commit) (Id.Lit_RBrace '}')} ) ] ) ) } spids: [235] ) ] ) (command.ShFunction name: verify_notes body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:notes_ref) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [257] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:suffix) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$2'))} spids: [263] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp] children: [ (command.Pipeline children: [ (C {(git)} {(-c)} {(core.notesRef) (Id.Lit_Equals '=') (DQ (refs/notes/) ($ Id.VSub_DollarName '$notes_ref')) } {(notes)} ) (command.Simple words: [{(sort)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:287) fd: -1 arg_word: {(DQ (output_notes_) ($ Id.VSub_DollarName '$suffix'))} ) ] ) ] negated: F ) (C {(test_cmp)} {(DQ (expect_notes_) ($ Id.VSub_DollarName '$suffix'))} {(DQ (output_notes_) ($ Id.VSub_DollarName '$suffix'))} ) (command.Simple words: [ {(git)} {(-c)} {(core.notesRef) (Id.Lit_Equals '=') (DQ (refs/notes/) ($ Id.VSub_DollarName '$notes_ref')) } {(log)} {(--format) (Id.Lit_Equals '=') (DQ ('%H %s%n%N'))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:332) fd: -1 arg_word: {(DQ (output_log_) ($ Id.VSub_DollarName '$suffix'))} ) ] ) (C {(test_cmp)} {(DQ (expect_log_) ($ Id.VSub_DollarName '$suffix'))} {(DQ (output_log_) ($ Id.VSub_DollarName '$suffix'))} ) ] ) ] ) ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup merge base (x)' span_id:359))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:363) (Token id: Id.Lit_Chars val: '\tgit config core.notesRef refs/notes/x &&\n' span_id: 364 ) (Token id:Id.Lit_Chars val:'\tgit notes add -m "x notes on 6th commit" 6th &&\n' span_id:365) (Token id: Id.Lit_Chars val: '\tgit notes add -m "x notes on 7th commit" 7th &&\n' span_id: 366 ) (Token id:Id.Lit_Chars val:'\tgit notes add -m "x notes on 8th commit" 8th &&\n' span_id:367) (Token id: Id.Lit_Chars val: '\tgit notes add -m "x notes on 9th commit" 9th &&\n' span_id: 368 ) (Token id:Id.Lit_Chars val:'\tgit notes add -m "x notes on 10th commit" 10th &&\n' span_id:369) (Token id: Id.Lit_Chars val: '\tgit notes add -m "x notes on 11th commit" 11th &&\n' span_id: 370 ) (Token id:Id.Lit_Chars val:'\tgit notes add -m "x notes on 12th commit" 12th &&\n' span_id:371) (Token id: Id.Lit_Chars val: '\tgit notes add -m "x notes on 13th commit" 13th &&\n' span_id: 372 ) (Token id:Id.Lit_Chars val:'\tgit notes add -m "x notes on 14th commit" 14th &&\n' span_id:373) (Token id: Id.Lit_Chars val: '\tgit notes add -m "x notes on 15th commit" 15th\n' span_id: 374 ) ) } ) (command.Pipeline children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:380) fd: -1 here_begin: {(EOF)} here_end_span_id: 421 stdin_parts: [ ('457a85d6c814ea208550f15fcc48f804ac8dc023 ') ($ Id.VSub_DollarName '$commit_sha15') ('\n') ('b0c95b954301d69da2bc3723f4cb1680d355937c ') ($ Id.VSub_DollarName '$commit_sha14') ('\n') ('5d30216a129eeffa97d9694ffe8c74317a560315 ') ($ Id.VSub_DollarName '$commit_sha13') ('\n') ('dd161bc149470fd890dd4ab52a4cbd79bbd18c36 ') ($ Id.VSub_DollarName '$commit_sha12') ('\n') ('7abbc45126d680336fb24294f013a7cdfa3ed545 ') ($ Id.VSub_DollarName '$commit_sha11') ('\n') ('b8d03e173f67f6505a76f6e00cf93440200dd9be ') ($ Id.VSub_DollarName '$commit_sha10') ('\n') ('20c613c835011c48a5abe29170a2402ca6354910 ') ($ Id.VSub_DollarName '$commit_sha9') ('\n') ('a3daf8a1e4e5dc3409a303ad8481d57bfea7f5d6 ') ($ Id.VSub_DollarName '$commit_sha8') ('\n') ('897003322b53bc6ca098e9324ee508362347e734 ') ($ Id.VSub_DollarName '$commit_sha7') ('\n') ('11d97fdebfa5ceee540a3da07bce6fa0222bc082 ') ($ Id.VSub_DollarName '$commit_sha6') ('\n') ] ) ] ) (command.Simple words: [{(sort)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:387) fd: -1 arg_word: {(expect_notes_x)} ) ] ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:425) fd: -1 arg_word: {(expect_log_x)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:428) fd: -1 here_begin: {(EOF)} here_end_span_id: 487 stdin_parts: [ ($ Id.VSub_DollarName '$commit_sha15') (' 15th\n') ('x notes on 15th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha14') (' 14th\n') ('x notes on 14th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha13') (' 13th\n') ('x notes on 13th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha12') (' 12th\n') ('x notes on 12th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha11') (' 11th\n') ('x notes on 11th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha10') (' 10th\n') ('x notes on 10th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha9') (' 9th\n') ('x notes on 9th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha8') (' 8th\n') ('x notes on 8th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha7') (' 7th\n') ('x notes on 7th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha6') (' 6th\n') ('x notes on 6th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha5') (' 5th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha4') (' 4th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha3') (' 3rd\n') ('\n') ($ Id.VSub_DollarName '$commit_sha2') (' 2nd\n') ('\n') ($ Id.VSub_DollarName '$commit_sha1') (' 1st\n') ('\n') ] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'verify state of merge base (x)' span_id:492))} {(SQ (Token id:Id.Lit_Chars val:'verify_notes x x' span_id:496))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup local branch (y)' span_id:503))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:507) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/y refs/notes/x &&\n' span_id: 508 ) (Token id:Id.Lit_Chars val:'\tgit config core.notesRef refs/notes/y &&\n' span_id:509) (Token id: Id.Lit_Chars val: '\tgit notes add -f -m "y notes on 3rd commit" 3rd &&\n' span_id: 510 ) (Token id:Id.Lit_Chars val:'\tgit notes add -f -m "y notes on 4th commit" 4th &&\n' span_id:511) (Token id: Id.Lit_Chars val: '\tgit notes add -f -m "y notes on 5th commit" 5th &&\n' span_id: 512 ) (Token id:Id.Lit_Chars val:'\tgit notes remove 6th &&\n' span_id:513) (Token id:Id.Lit_Chars val:'\tgit notes remove 7th &&\n' span_id:514) (Token id:Id.Lit_Chars val:'\tgit notes remove 8th &&\n' span_id:515) (Token id: Id.Lit_Chars val: '\tgit notes add -f -m "y notes on 12th commit" 12th &&\n' span_id: 516 ) (Token id:Id.Lit_Chars val:'\tgit notes add -f -m "y notes on 13th commit" 13th &&\n' span_id:517) (Token id: Id.Lit_Chars val: '\tgit notes add -f -m "y notes on 14th commit" 14th &&\n' span_id: 518 ) (Token id:Id.Lit_Chars val:'\tgit notes add -f -m "y notes on 15th commit" 15th\n' span_id:519) ) } ) (command.Pipeline children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:525) fd: -1 here_begin: {(EOF)} here_end_span_id: 566 stdin_parts: [ ('68b8630d25516028bed862719855b3d6768d7833 ') ($ Id.VSub_DollarName '$commit_sha15') ('\n') ('5de7ea7ad4f47e7ff91989fb82234634730f75df ') ($ Id.VSub_DollarName '$commit_sha14') ('\n') ('3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc ') ($ Id.VSub_DollarName '$commit_sha13') ('\n') ('a66055fa82f7a03fe0c02a6aba3287a85abf7c62 ') ($ Id.VSub_DollarName '$commit_sha12') ('\n') ('7abbc45126d680336fb24294f013a7cdfa3ed545 ') ($ Id.VSub_DollarName '$commit_sha11') ('\n') ('b8d03e173f67f6505a76f6e00cf93440200dd9be ') ($ Id.VSub_DollarName '$commit_sha10') ('\n') ('20c613c835011c48a5abe29170a2402ca6354910 ') ($ Id.VSub_DollarName '$commit_sha9') ('\n') ('154508c7a0bcad82b6fe4b472bc4c26b3bf0825b ') ($ Id.VSub_DollarName '$commit_sha5') ('\n') ('e2bfd06a37dd2031684a59a6e2b033e212239c78 ') ($ Id.VSub_DollarName '$commit_sha4') ('\n') ('5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 ') ($ Id.VSub_DollarName '$commit_sha3') ('\n') ] ) ] ) (command.Simple words: [{(sort)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:532) fd: -1 arg_word: {(expect_notes_y)} ) ] ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:570) fd: -1 arg_word: {(expect_log_y)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:573) fd: -1 here_begin: {(EOF)} here_end_span_id: 632 stdin_parts: [ ($ Id.VSub_DollarName '$commit_sha15') (' 15th\n') ('y notes on 15th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha14') (' 14th\n') ('y notes on 14th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha13') (' 13th\n') ('y notes on 13th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha12') (' 12th\n') ('y notes on 12th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha11') (' 11th\n') ('x notes on 11th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha10') (' 10th\n') ('x notes on 10th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha9') (' 9th\n') ('x notes on 9th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha8') (' 8th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha7') (' 7th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha6') (' 6th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha5') (' 5th\n') ('y notes on 5th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha4') (' 4th\n') ('y notes on 4th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha3') (' 3rd\n') ('y notes on 3rd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha2') (' 2nd\n') ('\n') ($ Id.VSub_DollarName '$commit_sha1') (' 1st\n') ('\n') ] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'verify state of local branch (y)' span_id:637))} {(SQ (Token id:Id.Lit_Chars val:'verify_notes y y' span_id:641))} ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup remote branch (z)' span_id:648))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:652) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/z refs/notes/x &&\n' span_id: 653 ) (Token id:Id.Lit_Chars val:'\tgit config core.notesRef refs/notes/z &&\n' span_id:654) (Token id: Id.Lit_Chars val: '\tgit notes add -f -m "z notes on 2nd commit" 2nd &&\n' span_id: 655 ) (Token id:Id.Lit_Chars val:'\tgit notes add -f -m "y notes on 4th commit" 4th &&\n' span_id:656) (Token id: Id.Lit_Chars val: '\tgit notes add -f -m "z notes on 5th commit" 5th &&\n' span_id: 657 ) (Token id:Id.Lit_Chars val:'\tgit notes remove 6th &&\n' span_id:658) (Token id: Id.Lit_Chars val: '\tgit notes add -f -m "z notes on 8th commit" 8th &&\n' span_id: 659 ) (Token id:Id.Lit_Chars val:'\tgit notes remove 9th &&\n' span_id:660) (Token id: Id.Lit_Chars val: '\tgit notes add -f -m "z notes on 11th commit" 11th &&\n' span_id: 661 ) (Token id:Id.Lit_Chars val:'\tgit notes remove 12th &&\n' span_id:662) (Token id: Id.Lit_Chars val: '\tgit notes add -f -m "y notes on 14th commit" 14th &&\n' span_id: 663 ) (Token id:Id.Lit_Chars val:'\tgit notes add -f -m "z notes on 15th commit" 15th\n' span_id:664) ) } ) (command.Pipeline children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:670) fd: -1 here_begin: {(EOF)} here_end_span_id: 711 stdin_parts: [ ('9b4b2c61f0615412da3c10f98ff85b57c04ec765 ') ($ Id.VSub_DollarName '$commit_sha15') ('\n') ('5de7ea7ad4f47e7ff91989fb82234634730f75df ') ($ Id.VSub_DollarName '$commit_sha14') ('\n') ('5d30216a129eeffa97d9694ffe8c74317a560315 ') ($ Id.VSub_DollarName '$commit_sha13') ('\n') ('7e3c53503a3db8dd996cb62e37c66e070b44b54d ') ($ Id.VSub_DollarName '$commit_sha11') ('\n') ('b8d03e173f67f6505a76f6e00cf93440200dd9be ') ($ Id.VSub_DollarName '$commit_sha10') ('\n') ('851e1638784a884c7dd26c5d41f3340f6387413a ') ($ Id.VSub_DollarName '$commit_sha8') ('\n') ('897003322b53bc6ca098e9324ee508362347e734 ') ($ Id.VSub_DollarName '$commit_sha7') ('\n') ('99fc34adfc400b95c67b013115e37e31aa9a6d23 ') ($ Id.VSub_DollarName '$commit_sha5') ('\n') ('e2bfd06a37dd2031684a59a6e2b033e212239c78 ') ($ Id.VSub_DollarName '$commit_sha4') ('\n') ('283b48219aee9a4105f6cab337e789065c82c2b9 ') ($ Id.VSub_DollarName '$commit_sha2') ('\n') ] ) ] ) (command.Simple words: [{(sort)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:677) fd: -1 arg_word: {(expect_notes_z)} ) ] ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:715) fd: -1 arg_word: {(expect_log_z)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:718) fd: -1 here_begin: {(EOF)} here_end_span_id: 777 stdin_parts: [ ($ Id.VSub_DollarName '$commit_sha15') (' 15th\n') ('z notes on 15th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha14') (' 14th\n') ('y notes on 14th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha13') (' 13th\n') ('x notes on 13th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha12') (' 12th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha11') (' 11th\n') ('z notes on 11th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha10') (' 10th\n') ('x notes on 10th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha9') (' 9th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha8') (' 8th\n') ('z notes on 8th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha7') (' 7th\n') ('x notes on 7th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha6') (' 6th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha5') (' 5th\n') ('z notes on 5th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha4') (' 4th\n') ('y notes on 4th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha3') (' 3rd\n') ('\n') ($ Id.VSub_DollarName '$commit_sha2') (' 2nd\n') ('z notes on 2nd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha1') (' 1st\n') ('\n') ] ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'verify state of remote branch (z)' span_id:782))} {(SQ (Token id:Id.Lit_Chars val:'verify_notes z z' span_id:786))} ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with invalid strategy => Fail/No changes' span_id: 851 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:855) (Token id: Id.Lit_Chars val: '\tgit config core.notesRef refs/notes/y &&\n' span_id: 856 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git notes merge --strategy=foo z &&\n' span_id:857) (Token id:Id.Lit_Chars val:'\t# Verify no changes (y)\n' span_id:858) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:859) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with invalid configuration option => Fail/No changes' span_id: 866 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:870) (Token id: Id.Lit_Chars val: '\tgit config core.notesRef refs/notes/y &&\n' span_id: 871 ) (Token id: Id.Lit_Chars val: '\ttest_must_fail git -c notes.mergeStrategy="foo" notes merge z &&\n' span_id: 872 ) (Token id:Id.Lit_Chars val:'\t# Verify no changes (y)\n' span_id:873) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:874) ) } ) (command.Pipeline children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:880) fd: -1 here_begin: {(EOF)} here_end_span_id: 921 stdin_parts: [ ('68b8630d25516028bed862719855b3d6768d7833 ') ($ Id.VSub_DollarName '$commit_sha15') ('\n') ('5de7ea7ad4f47e7ff91989fb82234634730f75df ') ($ Id.VSub_DollarName '$commit_sha14') ('\n') ('3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc ') ($ Id.VSub_DollarName '$commit_sha13') ('\n') ('a66055fa82f7a03fe0c02a6aba3287a85abf7c62 ') ($ Id.VSub_DollarName '$commit_sha12') ('\n') ('7e3c53503a3db8dd996cb62e37c66e070b44b54d ') ($ Id.VSub_DollarName '$commit_sha11') ('\n') ('b8d03e173f67f6505a76f6e00cf93440200dd9be ') ($ Id.VSub_DollarName '$commit_sha10') ('\n') ('154508c7a0bcad82b6fe4b472bc4c26b3bf0825b ') ($ Id.VSub_DollarName '$commit_sha5') ('\n') ('e2bfd06a37dd2031684a59a6e2b033e212239c78 ') ($ Id.VSub_DollarName '$commit_sha4') ('\n') ('5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 ') ($ Id.VSub_DollarName '$commit_sha3') ('\n') ('283b48219aee9a4105f6cab337e789065c82c2b9 ') ($ Id.VSub_DollarName '$commit_sha2') ('\n') ] ) ] ) (command.Simple words: [{(sort)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:887) fd: -1 arg_word: {(expect_notes_ours)} ) ] ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:925) fd: -1 arg_word: {(expect_log_ours)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:928) fd: -1 here_begin: {(EOF)} here_end_span_id: 987 stdin_parts: [ ($ Id.VSub_DollarName '$commit_sha15') (' 15th\n') ('y notes on 15th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha14') (' 14th\n') ('y notes on 14th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha13') (' 13th\n') ('y notes on 13th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha12') (' 12th\n') ('y notes on 12th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha11') (' 11th\n') ('z notes on 11th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha10') (' 10th\n') ('x notes on 10th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha9') (' 9th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha8') (' 8th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha7') (' 7th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha6') (' 6th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha5') (' 5th\n') ('y notes on 5th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha4') (' 4th\n') ('y notes on 4th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha3') (' 3rd\n') ('y notes on 3rd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha2') (' 2nd\n') ('z notes on 2nd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha1') (' 1st\n') ('\n') ] ) ] ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with "ours" strategy => Non-conflicting 3-way merge' span_id: 992 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:996) (Token id: Id.Lit_Chars val: '\tgit notes merge --strategy=ours z &&\n' span_id: 997 ) (Token id:Id.Lit_Chars val:'\tverify_notes y ours\n' span_id:998) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset to pre-merge state (y)' span_id:1005))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1009) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/y refs/notes/y^1 &&\n' span_id: 1010 ) (Token id:Id.Lit_Chars val:'\t# Verify pre-merge state\n' span_id:1011) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:1012) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with "ours" configuration option => Non-conflicting 3-way merge' span_id: 1019 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1023) (Token id: Id.Lit_Chars val: '\tgit -c notes.mergeStrategy="ours" notes merge z &&\n' span_id: 1024 ) (Token id:Id.Lit_Chars val:'\tverify_notes y ours\n' span_id:1025) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset to pre-merge state (y)' span_id:1032))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1036) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/y refs/notes/y^1 &&\n' span_id: 1037 ) (Token id:Id.Lit_Chars val:'\t# Verify pre-merge state\n' span_id:1038) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:1039) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with "ours" per-ref configuration option => Non-conflicting 3-way merge' span_id: 1046 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1050) (Token id: Id.Lit_Chars val: '\tgit -c notes.y.mergeStrategy="ours" notes merge z &&\n' span_id: 1051 ) (Token id:Id.Lit_Chars val:'\tverify_notes y ours\n' span_id:1052) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset to pre-merge state (y)' span_id:1059))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1063) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/y refs/notes/y^1 &&\n' span_id: 1064 ) (Token id:Id.Lit_Chars val:'\t# Verify pre-merge state\n' span_id:1065) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:1066) ) } ) (command.Pipeline children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1072) fd: -1 here_begin: {(EOF)} here_end_span_id: 1113 stdin_parts: [ ('9b4b2c61f0615412da3c10f98ff85b57c04ec765 ') ($ Id.VSub_DollarName '$commit_sha15') ('\n') ('5de7ea7ad4f47e7ff91989fb82234634730f75df ') ($ Id.VSub_DollarName '$commit_sha14') ('\n') ('3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc ') ($ Id.VSub_DollarName '$commit_sha13') ('\n') ('7e3c53503a3db8dd996cb62e37c66e070b44b54d ') ($ Id.VSub_DollarName '$commit_sha11') ('\n') ('b8d03e173f67f6505a76f6e00cf93440200dd9be ') ($ Id.VSub_DollarName '$commit_sha10') ('\n') ('851e1638784a884c7dd26c5d41f3340f6387413a ') ($ Id.VSub_DollarName '$commit_sha8') ('\n') ('99fc34adfc400b95c67b013115e37e31aa9a6d23 ') ($ Id.VSub_DollarName '$commit_sha5') ('\n') ('e2bfd06a37dd2031684a59a6e2b033e212239c78 ') ($ Id.VSub_DollarName '$commit_sha4') ('\n') ('5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 ') ($ Id.VSub_DollarName '$commit_sha3') ('\n') ('283b48219aee9a4105f6cab337e789065c82c2b9 ') ($ Id.VSub_DollarName '$commit_sha2') ('\n') ] ) ] ) (command.Simple words: [{(sort)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1079) fd: -1 arg_word: {(expect_notes_theirs)} ) ] ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1117) fd: -1 arg_word: {(expect_log_theirs)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1120) fd: -1 here_begin: {(EOF)} here_end_span_id: 1179 stdin_parts: [ ($ Id.VSub_DollarName '$commit_sha15') (' 15th\n') ('z notes on 15th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha14') (' 14th\n') ('y notes on 14th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha13') (' 13th\n') ('y notes on 13th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha12') (' 12th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha11') (' 11th\n') ('z notes on 11th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha10') (' 10th\n') ('x notes on 10th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha9') (' 9th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha8') (' 8th\n') ('z notes on 8th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha7') (' 7th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha6') (' 6th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha5') (' 5th\n') ('z notes on 5th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha4') (' 4th\n') ('y notes on 4th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha3') (' 3rd\n') ('y notes on 3rd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha2') (' 2nd\n') ('z notes on 2nd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha1') (' 1st\n') ('\n') ] ) ] ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with "theirs" strategy => Non-conflicting 3-way merge' span_id: 1184 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1188) (Token id: Id.Lit_Chars val: '\tgit notes merge --strategy=theirs z &&\n' span_id: 1189 ) (Token id:Id.Lit_Chars val:'\tverify_notes y theirs\n' span_id:1190) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset to pre-merge state (y)' span_id:1197))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1201) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/y refs/notes/y^1 &&\n' span_id: 1202 ) (Token id:Id.Lit_Chars val:'\t# Verify pre-merge state\n' span_id:1203) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:1204) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with "theirs" strategy overriding configuration option "ours" => Non-conflicting 3-way merge' span_id: 1211 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1215) (Token id: Id.Lit_Chars val: '\tgit -c notes.mergeStrategy="ours" notes merge --strategy=theirs z &&\n' span_id: 1216 ) (Token id:Id.Lit_Chars val:'\tverify_notes y theirs\n' span_id:1217) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset to pre-merge state (y)' span_id:1224))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1228) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/y refs/notes/y^1 &&\n' span_id: 1229 ) (Token id:Id.Lit_Chars val:'\t# Verify pre-merge state\n' span_id:1230) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:1231) ) } ) (command.Pipeline children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1237) fd: -1 here_begin: {(EOF)} here_end_span_id: 1281 stdin_parts: [ ('7c4e546efd0fe939f876beb262ece02797880b54 ') ($ Id.VSub_DollarName '$commit_sha15') ('\n') ('5de7ea7ad4f47e7ff91989fb82234634730f75df ') ($ Id.VSub_DollarName '$commit_sha14') ('\n') ('3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc ') ($ Id.VSub_DollarName '$commit_sha13') ('\n') ('a66055fa82f7a03fe0c02a6aba3287a85abf7c62 ') ($ Id.VSub_DollarName '$commit_sha12') ('\n') ('7e3c53503a3db8dd996cb62e37c66e070b44b54d ') ($ Id.VSub_DollarName '$commit_sha11') ('\n') ('b8d03e173f67f6505a76f6e00cf93440200dd9be ') ($ Id.VSub_DollarName '$commit_sha10') ('\n') ('851e1638784a884c7dd26c5d41f3340f6387413a ') ($ Id.VSub_DollarName '$commit_sha8') ('\n') ('6c841cc36ea496027290967ca96bd2bef54dbb47 ') ($ Id.VSub_DollarName '$commit_sha5') ('\n') ('e2bfd06a37dd2031684a59a6e2b033e212239c78 ') ($ Id.VSub_DollarName '$commit_sha4') ('\n') ('5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 ') ($ Id.VSub_DollarName '$commit_sha3') ('\n') ('283b48219aee9a4105f6cab337e789065c82c2b9 ') ($ Id.VSub_DollarName '$commit_sha2') ('\n') ] ) ] ) (command.Simple words: [{(sort)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1244) fd: -1 arg_word: {(expect_notes_union)} ) ] ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1285) fd: -1 arg_word: {(expect_log_union)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1288) fd: -1 here_begin: {(EOF)} here_end_span_id: 1352 stdin_parts: [ ($ Id.VSub_DollarName '$commit_sha15') (' 15th\n') ('y notes on 15th commit\n') ('\n') ('z notes on 15th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha14') (' 14th\n') ('y notes on 14th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha13') (' 13th\n') ('y notes on 13th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha12') (' 12th\n') ('y notes on 12th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha11') (' 11th\n') ('z notes on 11th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha10') (' 10th\n') ('x notes on 10th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha9') (' 9th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha8') (' 8th\n') ('z notes on 8th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha7') (' 7th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha6') (' 6th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha5') (' 5th\n') ('y notes on 5th commit\n') ('\n') ('z notes on 5th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha4') (' 4th\n') ('y notes on 4th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha3') (' 3rd\n') ('y notes on 3rd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha2') (' 2nd\n') ('z notes on 2nd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha1') (' 1st\n') ('\n') ] ) ] ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with "union" strategy => Non-conflicting 3-way merge' span_id: 1357 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1361) (Token id: Id.Lit_Chars val: '\tgit notes merge --strategy=union z &&\n' span_id: 1362 ) (Token id:Id.Lit_Chars val:'\tverify_notes y union\n' span_id:1363) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset to pre-merge state (y)' span_id:1370))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1374) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/y refs/notes/y^1 &&\n' span_id: 1375 ) (Token id:Id.Lit_Chars val:'\t# Verify pre-merge state\n' span_id:1376) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:1377) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with "union" strategy overriding per-ref configuration => Non-conflicting 3-way merge' span_id: 1384 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1388) (Token id: Id.Lit_Chars val: '\tgit -c notes.y.mergeStrategy="theirs" notes merge --strategy=union z &&\n' span_id: 1389 ) (Token id:Id.Lit_Chars val:'\tverify_notes y union\n' span_id:1390) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset to pre-merge state (y)' span_id:1397))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1401) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/y refs/notes/y^1 &&\n' span_id: 1402 ) (Token id:Id.Lit_Chars val:'\t# Verify pre-merge state\n' span_id:1403) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:1404) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with "union" per-ref overriding general configuration => Non-conflicting 3-way merge' span_id: 1411 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1415) (Token id: Id.Lit_Chars val: '\tgit -c notes.y.mergeStrategy="union" -c notes.mergeStrategy="theirs" notes merge z &&\n' span_id: 1416 ) (Token id:Id.Lit_Chars val:'\tverify_notes y union\n' span_id:1417) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset to pre-merge state (y)' span_id:1424))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1428) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/y refs/notes/y^1 &&\n' span_id: 1429 ) (Token id:Id.Lit_Chars val:'\t# Verify pre-merge state\n' span_id:1430) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:1431) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge z into y with "manual" per-ref only checks specific ref configuration => Conflicting 3-way merge' span_id: 1438 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1442) (Token id: Id.Lit_Chars val: '\ttest_must_fail git -c notes.z.mergeStrategy="union" notes merge z &&\n' span_id: 1443 ) (Token id:Id.Lit_Chars val:'\tgit notes merge --abort &&\n' span_id:1444) (Token id:Id.Lit_Chars val:'\tverify_notes y y\n' span_id:1445) ) } ) (command.Pipeline children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1451) fd: -1 here_begin: {(EOF)} here_end_span_id: 1495 stdin_parts: [ ('d682107b8bf7a7aea1e537a8d5cb6a12b60135f1 ') ($ Id.VSub_DollarName '$commit_sha15') ('\n') ('5de7ea7ad4f47e7ff91989fb82234634730f75df ') ($ Id.VSub_DollarName '$commit_sha14') ('\n') ('3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc ') ($ Id.VSub_DollarName '$commit_sha13') ('\n') ('a66055fa82f7a03fe0c02a6aba3287a85abf7c62 ') ($ Id.VSub_DollarName '$commit_sha12') ('\n') ('7e3c53503a3db8dd996cb62e37c66e070b44b54d ') ($ Id.VSub_DollarName '$commit_sha11') ('\n') ('b8d03e173f67f6505a76f6e00cf93440200dd9be ') ($ Id.VSub_DollarName '$commit_sha10') ('\n') ('851e1638784a884c7dd26c5d41f3340f6387413a ') ($ Id.VSub_DollarName '$commit_sha8') ('\n') ('357b6ca14c7afd59b7f8b8aaaa6b8b723771135b ') ($ Id.VSub_DollarName '$commit_sha5') ('\n') ('e2bfd06a37dd2031684a59a6e2b033e212239c78 ') ($ Id.VSub_DollarName '$commit_sha4') ('\n') ('5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 ') ($ Id.VSub_DollarName '$commit_sha3') ('\n') ('283b48219aee9a4105f6cab337e789065c82c2b9 ') ($ Id.VSub_DollarName '$commit_sha2') ('\n') ] ) ] ) (command.Simple words: [{(sort)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1458) fd: -1 arg_word: {(expect_notes_union2)} ) ] ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1499) fd: -1 arg_word: {(expect_log_union2)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1502) fd: -1 here_begin: {(EOF)} here_end_span_id: 1566 stdin_parts: [ ($ Id.VSub_DollarName '$commit_sha15') (' 15th\n') ('z notes on 15th commit\n') ('\n') ('y notes on 15th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha14') (' 14th\n') ('y notes on 14th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha13') (' 13th\n') ('y notes on 13th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha12') (' 12th\n') ('y notes on 12th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha11') (' 11th\n') ('z notes on 11th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha10') (' 10th\n') ('x notes on 10th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha9') (' 9th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha8') (' 8th\n') ('z notes on 8th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha7') (' 7th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha6') (' 6th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha5') (' 5th\n') ('z notes on 5th commit\n') ('\n') ('y notes on 5th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha4') (' 4th\n') ('y notes on 4th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha3') (' 3rd\n') ('y notes on 3rd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha2') (' 2nd\n') ('z notes on 2nd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha1') (' 1st\n') ('\n') ] ) ] ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge y into z with "union" strategy => Non-conflicting 3-way merge' span_id: 1571 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1575) (Token id: Id.Lit_Chars val: '\tgit config core.notesRef refs/notes/z &&\n' span_id: 1576 ) (Token id:Id.Lit_Chars val:'\tgit notes merge --strategy=union y &&\n' span_id:1577) (Token id:Id.Lit_Chars val:'\tverify_notes z union2\n' span_id:1578) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset to pre-merge state (z)' span_id:1585))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1589) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/z refs/notes/z^1 &&\n' span_id: 1590 ) (Token id:Id.Lit_Chars val:'\t# Verify pre-merge state\n' span_id:1591) (Token id:Id.Lit_Chars val:'\tverify_notes z z\n' span_id:1592) ) } ) (command.Pipeline children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1598) fd: -1 here_begin: {(EOF)} here_end_span_id: 1642 stdin_parts: [ ('6be90240b5f54594203e25d9f2f64b7567175aee ') ($ Id.VSub_DollarName '$commit_sha15') ('\n') ('5de7ea7ad4f47e7ff91989fb82234634730f75df ') ($ Id.VSub_DollarName '$commit_sha14') ('\n') ('3a631fdb6f41b05b55d8f4baf20728ba8f6fccbc ') ($ Id.VSub_DollarName '$commit_sha13') ('\n') ('a66055fa82f7a03fe0c02a6aba3287a85abf7c62 ') ($ Id.VSub_DollarName '$commit_sha12') ('\n') ('7e3c53503a3db8dd996cb62e37c66e070b44b54d ') ($ Id.VSub_DollarName '$commit_sha11') ('\n') ('b8d03e173f67f6505a76f6e00cf93440200dd9be ') ($ Id.VSub_DollarName '$commit_sha10') ('\n') ('851e1638784a884c7dd26c5d41f3340f6387413a ') ($ Id.VSub_DollarName '$commit_sha8') ('\n') ('660311d7f78dc53db12ac373a43fca7465381a7e ') ($ Id.VSub_DollarName '$commit_sha5') ('\n') ('e2bfd06a37dd2031684a59a6e2b033e212239c78 ') ($ Id.VSub_DollarName '$commit_sha4') ('\n') ('5772f42408c0dd6f097a7ca2d24de0e78d1c46b1 ') ($ Id.VSub_DollarName '$commit_sha3') ('\n') ('283b48219aee9a4105f6cab337e789065c82c2b9 ') ($ Id.VSub_DollarName '$commit_sha2') ('\n') ] ) ] ) (command.Simple words: [{(sort)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1605) fd: -1 arg_word: {(expect_notes_cat_sort_uniq)} ) ] ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:1646) fd: -1 arg_word: {(expect_log_cat_sort_uniq)} ) (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1649) fd: -1 here_begin: {(EOF)} here_end_span_id: 1711 stdin_parts: [ ($ Id.VSub_DollarName '$commit_sha15') (' 15th\n') ('y notes on 15th commit\n') ('z notes on 15th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha14') (' 14th\n') ('y notes on 14th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha13') (' 13th\n') ('y notes on 13th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha12') (' 12th\n') ('y notes on 12th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha11') (' 11th\n') ('z notes on 11th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha10') (' 10th\n') ('x notes on 10th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha9') (' 9th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha8') (' 8th\n') ('z notes on 8th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha7') (' 7th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha6') (' 6th\n') ('\n') ($ Id.VSub_DollarName '$commit_sha5') (' 5th\n') ('y notes on 5th commit\n') ('z notes on 5th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha4') (' 4th\n') ('y notes on 4th commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha3') (' 3rd\n') ('y notes on 3rd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha2') (' 2nd\n') ('z notes on 2nd commit\n') ('\n') ($ Id.VSub_DollarName '$commit_sha1') (' 1st\n') ('\n') ] ) ] ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge y into z with "cat_sort_uniq" strategy => Non-conflicting 3-way merge' span_id: 1716 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1720) (Token id: Id.Lit_Chars val: '\tgit notes merge --strategy=cat_sort_uniq y &&\n' span_id: 1721 ) (Token id:Id.Lit_Chars val:'\tverify_notes z cat_sort_uniq\n' span_id:1722) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reset to pre-merge state (z)' span_id:1729))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1733) (Token id: Id.Lit_Chars val: '\tgit update-ref refs/notes/z refs/notes/z^1 &&\n' span_id: 1734 ) (Token id:Id.Lit_Chars val:'\t# Verify pre-merge state\n' span_id:1735) (Token id:Id.Lit_Chars val:'\tverify_notes z z\n' span_id:1736) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'merge y into z with "cat_sort_uniq" strategy configuration option => Non-conflicting 3-way merge' span_id: 1743 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1747) (Token id: Id.Lit_Chars val: '\tgit -c notes.mergeStrategy="cat_sort_uniq" notes merge y &&\n' span_id: 1748 ) (Token id:Id.Lit_Chars val:'\tverify_notes z cat_sort_uniq\n' span_id:1749) ) } ) (C {(test_done)}) ] )