(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'Test notes merging with auto-resolving strategies'>)} spids: [13] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (C {<test_expect_success>} {(SQ <'setup commits'>)} { (SQ <'\n'> <'\ttest_commit 1st &&\n'> <'\ttest_commit 2nd &&\n'> <'\ttest_commit 3rd &&\n'> <'\ttest_commit 4th &&\n'> <'\ttest_commit 5th &&\n'> <'\ttest_commit 6th &&\n'> <'\ttest_commit 7th &&\n'> <'\ttest_commit 8th &&\n'> <'\ttest_commit 9th &&\n'> <'\ttest_commit 10th &&\n'> <'\ttest_commit 11th &&\n'> <'\ttest_commit 12th &&\n'> <'\ttest_commit 13th &&\n'> <'\ttest_commit 14th &&\n'> <'\ttest_commit 15th\n'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commit_sha1) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (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: <Id.Left_DollarParen '$('> child: (C {<git>} {<rev-parse>} {<15th> <Id.Lit_Other '^'> <Id.Lit_LBrace '{'> <commit> <Id.Lit_RBrace '}'>} ) ) } spids: [235] ) ] ) (command.ShFunction name: verify_notes body: (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 op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ <output_notes_> ($ Id.VSub_DollarName '$suffix'))} ) ] do_fork: T ) ] 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 op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ <output_log_> ($ Id.VSub_DollarName '$suffix'))} ) ] do_fork: T ) (C {<test_cmp>} {(DQ <expect_log_> ($ Id.VSub_DollarName '$suffix'))} {(DQ <output_log_> ($ Id.VSub_DollarName '$suffix'))} ) ] ) ] ) ) (C {<test_expect_success>} {(SQ <'setup merge base (x)'>)} { (SQ <'\n'> <'\tgit config core.notesRef refs/notes/x &&\n'> <'\tgit notes add -m "x notes on 6th commit" 6th &&\n'> <'\tgit notes add -m "x notes on 7th commit" 7th &&\n'> <'\tgit notes add -m "x notes on 8th commit" 8th &&\n'> <'\tgit notes add -m "x notes on 9th commit" 9th &&\n'> <'\tgit notes add -m "x notes on 10th commit" 10th &&\n'> <'\tgit notes add -m "x notes on 11th commit" 11th &&\n'> <'\tgit notes add -m "x notes on 12th commit" 12th &&\n'> <'\tgit notes add -m "x notes on 13th commit" 13th &&\n'> <'\tgit notes add -m "x notes on 14th commit" 14th &&\n'> <'\tgit notes add -m "x notes on 15th commit" 15th\n'> ) } ) (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (command.Simple words: [{<sort>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_notes_x>})] do_fork: T ) ] negated: F ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_log_x>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'verify state of merge base (x)'>)} {(SQ <'verify_notes x x'>)}) (C {<test_expect_success>} {(SQ <'setup local branch (y)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/y refs/notes/x &&\n'> <'\tgit config core.notesRef refs/notes/y &&\n'> <'\tgit notes add -f -m "y notes on 3rd commit" 3rd &&\n'> <'\tgit notes add -f -m "y notes on 4th commit" 4th &&\n'> <'\tgit notes add -f -m "y notes on 5th commit" 5th &&\n'> <'\tgit notes remove 6th &&\n'> <'\tgit notes remove 7th &&\n'> <'\tgit notes remove 8th &&\n'> <'\tgit notes add -f -m "y notes on 12th commit" 12th &&\n'> <'\tgit notes add -f -m "y notes on 13th commit" 13th &&\n'> <'\tgit notes add -f -m "y notes on 14th commit" 14th &&\n'> <'\tgit notes add -f -m "y notes on 15th commit" 15th\n'> ) } ) (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (command.Simple words: [{<sort>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_notes_y>})] do_fork: T ) ] negated: F ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_log_y>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'verify state of local branch (y)'>)} {(SQ <'verify_notes y y'>)}) (C {<test_expect_success>} {(SQ <'setup remote branch (z)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/z refs/notes/x &&\n'> <'\tgit config core.notesRef refs/notes/z &&\n'> <'\tgit notes add -f -m "z notes on 2nd commit" 2nd &&\n'> <'\tgit notes add -f -m "y notes on 4th commit" 4th &&\n'> <'\tgit notes add -f -m "z notes on 5th commit" 5th &&\n'> <'\tgit notes remove 6th &&\n'> <'\tgit notes add -f -m "z notes on 8th commit" 8th &&\n'> <'\tgit notes remove 9th &&\n'> <'\tgit notes add -f -m "z notes on 11th commit" 11th &&\n'> <'\tgit notes remove 12th &&\n'> <'\tgit notes add -f -m "y notes on 14th commit" 14th &&\n'> <'\tgit notes add -f -m "z notes on 15th commit" 15th\n'> ) } ) (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (command.Simple words: [{<sort>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_notes_z>})] do_fork: T ) ] negated: F ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_log_z>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'verify state of remote branch (z)'>)} {(SQ <'verify_notes z z'>)}) (C {<test_expect_success>} {(SQ <'merge z into y with invalid strategy => Fail/No changes'>)} { (SQ <'\n'> <'\tgit config core.notesRef refs/notes/y &&\n'> <'\ttest_must_fail git notes merge --strategy=foo z &&\n'> <'\t# Verify no changes (y)\n'> <'\tverify_notes y y\n'> ) } ) (C {<test_expect_success>} {(SQ <'merge z into y with invalid configuration option => Fail/No changes'>)} { (SQ <'\n'> <'\tgit config core.notesRef refs/notes/y &&\n'> <'\ttest_must_fail git -c notes.mergeStrategy="foo" notes merge z &&\n'> <'\t# Verify no changes (y)\n'> <'\tverify_notes y y\n'> ) } ) (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (command.Simple words: [{<sort>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_notes_ours>})] do_fork: T ) ] negated: F ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_log_ours>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'merge z into y with "ours" strategy => Non-conflicting 3-way merge'>)} {(SQ <'\n'> <'\tgit notes merge --strategy=ours z &&\n'> <'\tverify_notes y ours\n'>)} ) (C {<test_expect_success>} {(SQ <'reset to pre-merge state (y)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/y refs/notes/y^1 &&\n'> <'\t# Verify pre-merge state\n'> <'\tverify_notes y y\n'> ) } ) (C {<test_expect_success>} {(SQ <'merge z into y with "ours" configuration option => Non-conflicting 3-way merge'>)} {(SQ <'\n'> <'\tgit -c notes.mergeStrategy="ours" notes merge z &&\n'> <'\tverify_notes y ours\n'>)} ) (C {<test_expect_success>} {(SQ <'reset to pre-merge state (y)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/y refs/notes/y^1 &&\n'> <'\t# Verify pre-merge state\n'> <'\tverify_notes y y\n'> ) } ) (C {<test_expect_success>} { (SQ <'merge z into y with "ours" per-ref configuration option => Non-conflicting 3-way merge'> ) } {(SQ <'\n'> <'\tgit -c notes.y.mergeStrategy="ours" notes merge z &&\n'> <'\tverify_notes y ours\n'>)} ) (C {<test_expect_success>} {(SQ <'reset to pre-merge state (y)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/y refs/notes/y^1 &&\n'> <'\t# Verify pre-merge state\n'> <'\tverify_notes y y\n'> ) } ) (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (command.Simple words: [{<sort>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<expect_notes_theirs>} ) ] do_fork: T ) ] negated: F ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_log_theirs>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'merge z into y with "theirs" strategy => Non-conflicting 3-way merge'>)} {(SQ <'\n'> <'\tgit notes merge --strategy=theirs z &&\n'> <'\tverify_notes y theirs\n'>)} ) (C {<test_expect_success>} {(SQ <'reset to pre-merge state (y)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/y refs/notes/y^1 &&\n'> <'\t# Verify pre-merge state\n'> <'\tverify_notes y y\n'> ) } ) (C {<test_expect_success>} { (SQ < 'merge z into y with "theirs" strategy overriding configuration option "ours" => Non-conflicting 3-way merge' > ) } { (SQ <'\n'> <'\tgit -c notes.mergeStrategy="ours" notes merge --strategy=theirs z &&\n'> <'\tverify_notes y theirs\n'> ) } ) (C {<test_expect_success>} {(SQ <'reset to pre-merge state (y)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/y refs/notes/y^1 &&\n'> <'\t# Verify pre-merge state\n'> <'\tverify_notes y y\n'> ) } ) (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (command.Simple words: [{<sort>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<expect_notes_union>} ) ] do_fork: T ) ] negated: F ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_log_union>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'merge z into y with "union" strategy => Non-conflicting 3-way merge'>)} {(SQ <'\n'> <'\tgit notes merge --strategy=union z &&\n'> <'\tverify_notes y union\n'>)} ) (C {<test_expect_success>} {(SQ <'reset to pre-merge state (y)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/y refs/notes/y^1 &&\n'> <'\t# Verify pre-merge state\n'> <'\tverify_notes y y\n'> ) } ) (C {<test_expect_success>} { (SQ < 'merge z into y with "union" strategy overriding per-ref configuration => Non-conflicting 3-way merge' > ) } { (SQ <'\n'> <'\tgit -c notes.y.mergeStrategy="theirs" notes merge --strategy=union z &&\n'> <'\tverify_notes y union\n'> ) } ) (C {<test_expect_success>} {(SQ <'reset to pre-merge state (y)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/y refs/notes/y^1 &&\n'> <'\t# Verify pre-merge state\n'> <'\tverify_notes y y\n'> ) } ) (C {<test_expect_success>} { (SQ < 'merge z into y with "union" per-ref overriding general configuration => Non-conflicting 3-way merge' > ) } { (SQ <'\n'> < '\tgit -c notes.y.mergeStrategy="union" -c notes.mergeStrategy="theirs" notes merge z &&\n' > <'\tverify_notes y union\n'> ) } ) (C {<test_expect_success>} {(SQ <'reset to pre-merge state (y)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/y refs/notes/y^1 &&\n'> <'\t# Verify pre-merge state\n'> <'\tverify_notes y y\n'> ) } ) (C {<test_expect_success>} { (SQ < 'merge z into y with "manual" per-ref only checks specific ref configuration => Conflicting 3-way merge' > ) } { (SQ <'\n'> <'\ttest_must_fail git -c notes.z.mergeStrategy="union" notes merge z &&\n'> <'\tgit notes merge --abort &&\n'> <'\tverify_notes y y\n'> ) } ) (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (command.Simple words: [{<sort>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<expect_notes_union2>} ) ] do_fork: T ) ] negated: F ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect_log_union2>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'merge y into z with "union" strategy => Non-conflicting 3-way merge'>)} { (SQ <'\n'> <'\tgit config core.notesRef refs/notes/z &&\n'> <'\tgit notes merge --strategy=union y &&\n'> <'\tverify_notes z union2\n'> ) } ) (C {<test_expect_success>} {(SQ <'reset to pre-merge state (z)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/z refs/notes/z^1 &&\n'> <'\t# Verify pre-merge state\n'> <'\tverify_notes z z\n'> ) } ) (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (command.Simple words: [{<sort>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<expect_notes_cat_sort_uniq>} ) ] do_fork: T ) ] negated: F ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<expect_log_cat_sort_uniq>} ) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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'> ] ) ) ] do_fork: T ) (C {<test_expect_success>} {(SQ <'merge y into z with "cat_sort_uniq" strategy => Non-conflicting 3-way merge'>)} { (SQ <'\n'> <'\tgit notes merge --strategy=cat_sort_uniq y &&\n'> <'\tverify_notes z cat_sort_uniq\n'> ) } ) (C {<test_expect_success>} {(SQ <'reset to pre-merge state (z)'>)} { (SQ <'\n'> <'\tgit update-ref refs/notes/z refs/notes/z^1 &&\n'> <'\t# Verify pre-merge state\n'> <'\tverify_notes z z\n'> ) } ) (C {<test_expect_success>} { (SQ < 'merge y into z with "cat_sort_uniq" strategy configuration option => Non-conflicting 3-way merge' > ) } { (SQ <'\n'> <'\tgit -c notes.mergeStrategy="cat_sort_uniq" notes merge y &&\n'> <'\tverify_notes z cat_sort_uniq\n'> ) } ) (C {<test_done>}) ] )