(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:-1 arg_word:{(expected)} spids:[78]) (HereDoc op_id: Redir_DLess fd: -1 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: True 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:-1 arg_word:{(expected)} spids:[102]) (HereDoc op_id: Redir_DLess fd: -1 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: True 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:-1 arg_word:{(expected)} spids:[125]) (HereDoc op_id: Redir_DLess fd: -1 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: True 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)}) ] )