(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <'git merge\n'> <'\n'> <'Testing octopus merge with more than 25 refs.'>)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ <setup>)} { (SQ <'\n'> <'\techo c0 > c0.c &&\n'> <'\tgit add c0.c &&\n'> <'\tgit commit -m c0 &&\n'> <'\tgit tag c0 &&\n'> <'\ti=1 &&\n'> <'\twhile test $i -le 30\n'> <'\tdo\n'> <'\t\tgit reset --hard c0 &&\n'> <'\t\techo c$i > c$i.c &&\n'> <'\t\tgit add c$i.c &&\n'> <'\t\tgit commit -m c$i &&\n'> <'\t\tgit tag c$i &&\n'> <'\t\ti=$(expr $i + 1) || return 1\n'> <'\tdone\n'> ) } ) (C {(test_expect_success)} {(SQ <'merge c1 with c2, c3, c4, ... c29'>)} { (SQ <'\n'> <'\tgit reset --hard c1 &&\n'> <'\ti=2 &&\n'> <'\trefs="" &&\n'> <'\twhile test $i -le 30\n'> <'\tdo\n'> <'\t\trefs="$refs c$i"\n'> <'\t\ti=$(expr $i + 1)\n'> <'\tdone &&\n'> <'\tgit merge $refs &&\n'> <'\ttest "$(git rev-parse c1)" != "$(git rev-parse HEAD)" &&\n'> <'\ti=1 &&\n'> <'\twhile test $i -le 30\n'> <'\tdo\n'> <'\t\ttest "$(git rev-parse c$i)" = "$(git rev-parse HEAD^$i)" &&\n'> <'\t\ti=$(expr $i + 1) || return 1\n'> <'\tdone &&\n'> <'\tgit diff --exit-code &&\n'> <'\ti=1 &&\n'> <'\twhile test $i -le 30\n'> <'\tdo\n'> <'\t\ttest -f c$i.c &&\n'> <'\t\ti=$(expr $i + 1) || return 1\n'> <'\tdone\n'> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(expected)} spids:[78]) (HereDoc op_id: Redir_DLess fd: 16777215 body: {('Trying simple merge with c2\n') ('Trying simple merge with c3\n') ('Trying simple merge with c4\n') ("Merge made by the 'octopus' strategy.\n") (' c2.c | 1 +\n') (' c3.c | 1 +\n') (' c4.c | 1 +\n') (' 3 files changed, 3 insertions(+)\n') (' create mode 100644 c2.c\n') (' create mode 100644 c3.c\n') (' create mode 100644 c4.c\n') } do_expansion: False here_end: EOF was_filled: T spids: [81] ) ] ) (C {(test_expect_success)} {(SQ <'merge output uses pretty names'>)} { (SQ <'\n'> <'\tgit reset --hard c1 &&\n'> <'\tgit merge c2 c3 c4 >actual &&\n'> <'\ttest_i18ncmp expected actual\n'> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(expected)} spids:[102]) (HereDoc op_id: Redir_DLess fd: 16777215 body: {("Merge made by the 'recursive' strategy.\n") (' c5.c | 1 +\n') (' 1 file changed, 1 insertion(+)\n') (' create mode 100644 c5.c\n') } do_expansion: False here_end: EOF was_filled: T spids: [105] ) ] ) (C {(test_expect_success)} {(SQ <'merge reduces irrelevant remote heads'>)} { (SQ <'\n'> <'\tGIT_MERGE_VERBOSITY=0 git merge c4 c5 >actual &&\n'> <'\ttest_i18ncmp expected actual\n'> ) } ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(expected)} spids:[125]) (HereDoc op_id: Redir_DLess fd: 16777215 body: {('Fast-forwarding to: c1\n') ('Trying simple merge with c2\n') ("Merge made by the 'octopus' strategy.\n") (' c1.c | 1 +\n') (' c2.c | 1 +\n') (' 2 files changed, 2 insertions(+)\n') (' create mode 100644 c1.c\n') (' create mode 100644 c2.c\n') } do_expansion: False here_end: EOF was_filled: T spids: [128] ) ] ) (C {(test_expect_success)} {(SQ <'merge fast-forward output uses pretty names'>)} { (SQ <'\n'> <'\tgit reset --hard c0 &&\n'> <'\tgit merge c1 c2 >actual &&\n'> <'\ttest_i18ncmp expected actual\n'> ) } ) (C {(test_done)}) ] )