(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:'fmt-merge-msg test' span_id:15))}
          spids: [13]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:29) 
          (Token id:Id.Lit_Chars val:'\techo one >one &&\n' span_id:30) (Token id:Id.Lit_Chars val:'\tgit add one &&\n' span_id:31) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:32) (Token id:Id.Lit_Chars val:'\tgit commit -m "Initial" &&\n' span_id:33) 
          (Token id:Id.Lit_Chars val:'\n' span_id:34) (Token id:Id.Lit_Chars val:'\tgit clone . remote &&\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\n' span_id:36) (Token id:Id.Lit_Chars val:'\techo uno >one &&\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\techo dos >two &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\tgit add two &&\n' span_id:39) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\tgit commit -a -m "Second" &&\n' span_id:41) 
          (Token id:Id.Lit_Chars val:'\n' span_id:42) (Token id:Id.Lit_Chars val:'\tgit checkout -b left &&\n' span_id:43) 
          (Token id:Id.Lit_Chars val:'\n' span_id:44) (Token id:Id.Lit_Chars val:'\techo "c1" >one &&\n' span_id:45) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:46) (Token id:Id.Lit_Chars val:'\tgit commit -a -m "Common #1" &&\n' span_id:47) 
          (Token id:Id.Lit_Chars val:'\n' span_id:48) (Token id:Id.Lit_Chars val:'\techo "c2" >one &&\n' span_id:49) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:50) (Token id:Id.Lit_Chars val:'\tgit commit -a -m "Common #2" &&\n' span_id:51) 
          (Token id:Id.Lit_Chars val:'\n' span_id:52) (Token id:Id.Lit_Chars val:'\tgit branch right &&\n' span_id:53) 
          (Token id:Id.Lit_Chars val:'\n' span_id:54) (Token id:Id.Lit_Chars val:'\techo "l3" >two &&\n' span_id:55) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:56) (Token id:Id.Lit_Chars val:'\tGIT_COMMITTER_NAME="Another Committer" \\\n' span_id:57) 
          (Token
            id: Id.Lit_Chars
            val: '\tGIT_AUTHOR_NAME="Another Author" git commit -a -m "Left #3" &&\n'
            span_id: 58
          ) (Token id:Id.Lit_Chars val:'\n' span_id:59) 
          (Token id:Id.Lit_Chars val:'\techo "l4" >two &&\n' span_id:60) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:61) 
          (Token
            id: Id.Lit_Chars
            val: '\tGIT_COMMITTER_NAME="Another Committer" \\\n'
            span_id: 62
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tGIT_AUTHOR_NAME="Another Author" git commit -a -m "Left #4" &&\n'
            span_id: 63
          ) (Token id:Id.Lit_Chars val:'\n' span_id:64) 
          (Token id:Id.Lit_Chars val:'\techo "l5" >two &&\n' span_id:65) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:66) 
          (Token
            id: Id.Lit_Chars
            val: '\tGIT_COMMITTER_NAME="Another Committer" \\\n'
            span_id: 67
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tGIT_AUTHOR_NAME="Another Author" git commit -a -m "Left #5" &&\n'
            span_id: 68
          ) (Token id:Id.Lit_Chars val:'\tgit tag tag-l5 &&\n' span_id:69) 
          (Token id:Id.Lit_Chars val:'\n' span_id:70) (Token id:Id.Lit_Chars val:'\tgit checkout right &&\n' span_id:71) 
          (Token id:Id.Lit_Chars val:'\n' span_id:72) (Token id:Id.Lit_Chars val:'\techo "r3" >three &&\n' span_id:73) 
          (Token id:Id.Lit_Chars val:'\tgit add three &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:75) 
          (Token id:Id.Lit_Chars val:'\tgit commit -a -m "Right #3" &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\tgit tag tag-r3 &&\n' span_id:77) 
          (Token id:Id.Lit_Chars val:'\n' span_id:78) (Token id:Id.Lit_Chars val:'\techo "r4" >three &&\n' span_id:79) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:80) (Token id:Id.Lit_Chars val:'\tgit commit -a -m "Right #4" &&\n' span_id:81) 
          (Token id:Id.Lit_Chars val:'\n' span_id:82) (Token id:Id.Lit_Chars val:'\techo "r5" >three &&\n' span_id:83) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:84) (Token id:Id.Lit_Chars val:'\tgit commit -a -m "Right #5" &&\n' span_id:85) 
          (Token id:Id.Lit_Chars val:'\n' span_id:86) (Token id:Id.Lit_Chars val:'\tgit checkout -b long &&\n' span_id:87) 
          (Token id:Id.Lit_Chars val:'\ti=0 &&\n' span_id:88) (Token id:Id.Lit_Chars val:'\twhile test $i -lt 30\n' span_id:89) 
          (Token id:Id.Lit_Chars val:'\tdo\n' span_id:90) (Token id:Id.Lit_Chars val:'\t\ttest_commit $i one &&\n' span_id:91) 
          (Token id:Id.Lit_Chars val:'\t\ti=$(($i+1))\n' span_id:92) (Token id:Id.Lit_Chars val:'\tdone &&\n' span_id:93) (Token id:Id.Lit_Chars val:'\n' span_id:94) 
          (Token id:Id.Lit_Chars val:'\tgit show-branch &&\n' span_id:95) (Token id:Id.Lit_Chars val:'\n' span_id:96) (Token id:Id.Lit_Chars val:'\tapos="' span_id:97)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:99)) 
        (SQ (Token id:Id.Lit_Chars val:'"\n' span_id:101))
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'message for merging local branch' span_id:108))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:112) 
          (Token
            id: Id.Lit_Chars
            val: '\techo "Merge branch ${apos}left${apos}" >expected &&\n'
            span_id: 113
          ) (Token id:Id.Lit_Chars val:'\n' span_id:114) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:115) (Token id:Id.Lit_Chars val:'\tgit fetch . left &&\n' span_id:116) 
          (Token id:Id.Lit_Chars val:'\n' span_id:117) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n' span_id:118) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:119)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'message for merging external branch' span_id:126))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:130) 
          (Token
            id: Id.Lit_Chars
            val: '\techo "Merge branch ${apos}left${apos} of $(pwd)" >expected &&\n'
            span_id: 131
          ) (Token id:Id.Lit_Chars val:'\n' span_id:132) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:133) (Token id:Id.Lit_Chars val:'\tgit fetch "$(pwd)" left &&\n' span_id:134) 
          (Token id:Id.Lit_Chars val:'\n' span_id:135) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n' span_id:136) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:137)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'[merge] summary/log configuration' span_id:144))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:148) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF &&\n' span_id:149) (Token id:Id.Lit_Chars val:'\tMerge branch ${apos}left${apos}\n' span_id:150) 
          (Token id:Id.Lit_Chars val:'\n' span_id:151) (Token id:Id.Lit_Chars val:'\t# By Another Author (3) and A U Thor (2)\n' span_id:152) 
          (Token id:Id.Lit_Chars val:'\t# Via Another Committer\n' span_id:153) (Token id:Id.Lit_Chars val:'\t* left:\n' span_id:154) 
          (Token id:Id.Lit_Chars val:'\t  Left #5\n' span_id:155) (Token id:Id.Lit_Chars val:'\t  Left #4\n' span_id:156) 
          (Token id:Id.Lit_Chars val:'\t  Left #3\n' span_id:157) (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:158) 
          (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:159) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:160) (Token id:Id.Lit_Chars val:'\n' span_id:161) 
          (Token id:Id.Lit_Chars val:'\ttest_config merge.log true &&\n' span_id:162) (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.summary &&\n' span_id:163) 
          (Token id:Id.Lit_Chars val:'\n' span_id:164) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:165) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:166) (Token id:Id.Lit_Chars val:'\tgit fetch . left &&\n' span_id:167) 
          (Token id:Id.Lit_Chars val:'\n' span_id:168) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg <.git/FETCH_HEAD >actual1 &&\n' span_id:169) 
          (Token id:Id.Lit_Chars val:'\n' span_id:170) (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.log &&\n' span_id:171) 
          (Token id:Id.Lit_Chars val:'\ttest_config merge.summary true &&\n' span_id:172) (Token id:Id.Lit_Chars val:'\n' span_id:173) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:174) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:175) 
          (Token id:Id.Lit_Chars val:'\tgit fetch . left &&\n' span_id:176) (Token id:Id.Lit_Chars val:'\n' span_id:177) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit fmt-merge-msg <.git/FETCH_HEAD >actual2 &&\n'
            span_id: 178
          ) (Token id:Id.Lit_Chars val:'\n' span_id:179) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual1 &&\n' span_id:180) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual2\n' span_id:181)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'setup FETCH_HEAD' span_id:188))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:192) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:193) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:194) 
          (Token id:Id.Lit_Chars val:'\tgit fetch . left\n' span_id:195)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'merge.log=3 limits shortlog length' span_id:202))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:206) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF &&\n' span_id:207) (Token id:Id.Lit_Chars val:'\tMerge branch ${apos}left${apos}\n' span_id:208) 
          (Token id:Id.Lit_Chars val:'\n' span_id:209) (Token id:Id.Lit_Chars val:'\t# By Another Author (3) and A U Thor (2)\n' span_id:210) 
          (Token id:Id.Lit_Chars val:'\t# Via Another Committer\n' span_id:211) (Token id:Id.Lit_Chars val:'\t* left: (5 commits)\n' span_id:212) 
          (Token id:Id.Lit_Chars val:'\t  Left #5\n' span_id:213) (Token id:Id.Lit_Chars val:'\t  Left #4\n' span_id:214) 
          (Token id:Id.Lit_Chars val:'\t  Left #3\n' span_id:215) (Token id:Id.Lit_Chars val:'\t  ...\n' span_id:216) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:217) 
          (Token id:Id.Lit_Chars val:'\n' span_id:218) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit -c merge.log=3 fmt-merge-msg <.git/FETCH_HEAD >actual &&\n'
            span_id: 219
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:220)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'merge.log=5 shows all 5 commits' span_id:227))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:231) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF &&\n' span_id:232) (Token id:Id.Lit_Chars val:'\tMerge branch ${apos}left${apos}\n' span_id:233) 
          (Token id:Id.Lit_Chars val:'\n' span_id:234) (Token id:Id.Lit_Chars val:'\t# By Another Author (3) and A U Thor (2)\n' span_id:235) 
          (Token id:Id.Lit_Chars val:'\t# Via Another Committer\n' span_id:236) (Token id:Id.Lit_Chars val:'\t* left:\n' span_id:237) 
          (Token id:Id.Lit_Chars val:'\t  Left #5\n' span_id:238) (Token id:Id.Lit_Chars val:'\t  Left #4\n' span_id:239) 
          (Token id:Id.Lit_Chars val:'\t  Left #3\n' span_id:240) (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:241) 
          (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:242) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:243) (Token id:Id.Lit_Chars val:'\n' span_id:244) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit -c merge.log=5 fmt-merge-msg <.git/FETCH_HEAD >actual &&\n'
            span_id: 245
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:246)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--log=5 with custom comment character' span_id:253))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:257) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF &&\n' span_id:258) (Token id:Id.Lit_Chars val:'\tMerge branch ${apos}left${apos}\n' span_id:259) 
          (Token id:Id.Lit_Chars val:'\n' span_id:260) (Token id:Id.Lit_Chars val:'\tx By Another Author (3) and A U Thor (2)\n' span_id:261) 
          (Token id:Id.Lit_Chars val:'\tx Via Another Committer\n' span_id:262) (Token id:Id.Lit_Chars val:'\t* left:\n' span_id:263) 
          (Token id:Id.Lit_Chars val:'\t  Left #5\n' span_id:264) (Token id:Id.Lit_Chars val:'\t  Left #4\n' span_id:265) 
          (Token id:Id.Lit_Chars val:'\t  Left #3\n' span_id:266) (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:267) 
          (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:268) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:269) (Token id:Id.Lit_Chars val:'\n' span_id:270) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit -c core.commentchar="x" fmt-merge-msg --log=5 <.git/FETCH_HEAD >actual &&\n'
            span_id: 271
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:272)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'merge.log=0 disables shortlog' span_id:279))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:283) 
          (Token
            id: Id.Lit_Chars
            val: '\techo "Merge branch ${apos}left${apos}" >expected &&\n'
            span_id: 284
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit -c merge.log=0 fmt-merge-msg <.git/FETCH_HEAD >actual &&\n'
            span_id: 285
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:286)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--log=3 limits shortlog length' span_id:293))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:297) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF &&\n' span_id:298) (Token id:Id.Lit_Chars val:'\tMerge branch ${apos}left${apos}\n' span_id:299) 
          (Token id:Id.Lit_Chars val:'\n' span_id:300) (Token id:Id.Lit_Chars val:'\t# By Another Author (3) and A U Thor (2)\n' span_id:301) 
          (Token id:Id.Lit_Chars val:'\t# Via Another Committer\n' span_id:302) (Token id:Id.Lit_Chars val:'\t* left: (5 commits)\n' span_id:303) 
          (Token id:Id.Lit_Chars val:'\t  Left #5\n' span_id:304) (Token id:Id.Lit_Chars val:'\t  Left #4\n' span_id:305) 
          (Token id:Id.Lit_Chars val:'\t  Left #3\n' span_id:306) (Token id:Id.Lit_Chars val:'\t  ...\n' span_id:307) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:308) 
          (Token id:Id.Lit_Chars val:'\n' span_id:309) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg --log=3 <.git/FETCH_HEAD >actual &&\n' span_id:310) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:311)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--log=5 shows all 5 commits' span_id:318))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:322) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF &&\n' span_id:323) (Token id:Id.Lit_Chars val:'\tMerge branch ${apos}left${apos}\n' span_id:324) 
          (Token id:Id.Lit_Chars val:'\n' span_id:325) (Token id:Id.Lit_Chars val:'\t# By Another Author (3) and A U Thor (2)\n' span_id:326) 
          (Token id:Id.Lit_Chars val:'\t# Via Another Committer\n' span_id:327) (Token id:Id.Lit_Chars val:'\t* left:\n' span_id:328) 
          (Token id:Id.Lit_Chars val:'\t  Left #5\n' span_id:329) (Token id:Id.Lit_Chars val:'\t  Left #4\n' span_id:330) 
          (Token id:Id.Lit_Chars val:'\t  Left #3\n' span_id:331) (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:332) 
          (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:333) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:334) (Token id:Id.Lit_Chars val:'\n' span_id:335) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit fmt-merge-msg --log=5 <.git/FETCH_HEAD >actual &&\n'
            span_id: 336
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:337)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--no-log disables shortlog' span_id:344))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:348) 
          (Token
            id: Id.Lit_Chars
            val: '\techo "Merge branch ${apos}left${apos}" >expected &&\n'
            span_id: 349
          ) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg --no-log <.git/FETCH_HEAD >actual &&\n' span_id:350) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:351)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'--log=0 disables shortlog' span_id:358))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:362) 
          (Token
            id: Id.Lit_Chars
            val: '\techo "Merge branch ${apos}left${apos}" >expected &&\n'
            span_id: 363
          ) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg --no-log <.git/FETCH_HEAD >actual &&\n' span_id:364) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:365)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'fmt-merge-msg -m' span_id:372))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:376) 
          (Token id:Id.Lit_Chars val:'\techo "Sync with left" >expected &&\n' span_id:377) (Token id:Id.Lit_Chars val:'\tcat >expected.log <<-EOF &&\n' span_id:378) 
          (Token id:Id.Lit_Chars val:'\tSync with left\n' span_id:379) (Token id:Id.Lit_Chars val:'\n' span_id:380) 
          (Token
            id: Id.Lit_Chars
            val: '\t# By Another Author (3) and A U Thor (2)\n'
            span_id: 381
          ) (Token id:Id.Lit_Chars val:'\t# Via Another Committer\n' span_id:382) 
          (Token id:Id.Lit_Chars val:'\t* ${apos}left${apos} of $(pwd):\n' span_id:383) (Token id:Id.Lit_Chars val:'\t  Left #5\n' span_id:384) 
          (Token id:Id.Lit_Chars val:'\t  Left #4\n' span_id:385) (Token id:Id.Lit_Chars val:'\t  Left #3\n' span_id:386) 
          (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:387) (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:388) 
          (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:389) (Token id:Id.Lit_Chars val:'\n' span_id:390) 
          (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.log &&\n' span_id:391) (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.summary &&\n' span_id:392) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:393) (Token id:Id.Lit_Chars val:'\tgit fetch "$(pwd)" left &&\n' span_id:394) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit fmt-merge-msg -m "Sync with left" <.git/FETCH_HEAD >actual &&\n'
            span_id: 395
          ) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg --log -m "Sync with left" \\\n' span_id:396) 
          (Token
            id: Id.Lit_Chars
            val: '\t\t\t\t\t<.git/FETCH_HEAD >actual.log &&\n'
            span_id: 397
          ) (Token id:Id.Lit_Chars val:'\ttest_config merge.log true &&\n' span_id:398) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit fmt-merge-msg -m "Sync with left" \\\n'
            span_id: 399
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t\t<.git/FETCH_HEAD >actual.log-config &&\n' span_id:400) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit fmt-merge-msg --no-log -m "Sync with left" \\\n'
            span_id: 401
          ) (Token id:Id.Lit_Chars val:'\t\t\t\t\t<.git/FETCH_HEAD >actual.nolog &&\n' span_id:402) 
          (Token id:Id.Lit_Chars val:'\n' span_id:403) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual &&\n' span_id:404) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected.log actual.log &&\n' span_id:405) (Token id:Id.Lit_Chars val:'\ttest_cmp expected.log actual.log-config &&\n' span_id:406) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual.nolog\n' span_id:407)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'setup: expected shortlog for two branches' span_id:414))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:418) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF\n' span_id:419) 
          (Token
            id: Id.Lit_Chars
            val: '\tMerge branches ${apos}left${apos} and ${apos}right${apos}\n'
            span_id: 420
          ) (Token id:Id.Lit_Chars val:'\n' span_id:421) 
          (Token
            id: Id.Lit_Chars
            val: '\t# By Another Author (3) and A U Thor (2)\n'
            span_id: 422
          ) (Token id:Id.Lit_Chars val:'\t# Via Another Committer\n' span_id:423) 
          (Token id:Id.Lit_Chars val:'\t* left:\n' span_id:424) (Token id:Id.Lit_Chars val:'\t  Left #5\n' span_id:425) 
          (Token id:Id.Lit_Chars val:'\t  Left #4\n' span_id:426) (Token id:Id.Lit_Chars val:'\t  Left #3\n' span_id:427) 
          (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:428) (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:429) (Token id:Id.Lit_Chars val:'\n' span_id:430) 
          (Token id:Id.Lit_Chars val:'\t* right:\n' span_id:431) (Token id:Id.Lit_Chars val:'\t  Right #5\n' span_id:432) 
          (Token id:Id.Lit_Chars val:'\t  Right #4\n' span_id:433) (Token id:Id.Lit_Chars val:'\t  Right #3\n' span_id:434) 
          (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:435) (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:436) 
          (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:437)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'shortlog for two branches' span_id:444))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:448) 
          (Token id:Id.Lit_Chars val:'\ttest_config merge.log true &&\n' span_id:449) (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.summary &&\n' span_id:450) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:451) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:452) 
          (Token id:Id.Lit_Chars val:'\tgit fetch . left right &&\n' span_id:453) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg <.git/FETCH_HEAD >actual1 &&\n' span_id:454) 
          (Token id:Id.Lit_Chars val:'\n' span_id:455) (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.log &&\n' span_id:456) 
          (Token id:Id.Lit_Chars val:'\ttest_config merge.summary true &&\n' span_id:457) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:458) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:459) (Token id:Id.Lit_Chars val:'\tgit fetch . left right &&\n' span_id:460) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit fmt-merge-msg <.git/FETCH_HEAD >actual2 &&\n'
            span_id: 461
          ) (Token id:Id.Lit_Chars val:'\n' span_id:462) 
          (Token id:Id.Lit_Chars val:'\ttest_config merge.log yes &&\n' span_id:463) (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.summary &&\n' span_id:464) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:465) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:466) 
          (Token id:Id.Lit_Chars val:'\tgit fetch . left right &&\n' span_id:467) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg <.git/FETCH_HEAD >actual3 &&\n' span_id:468) 
          (Token id:Id.Lit_Chars val:'\n' span_id:469) (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.log &&\n' span_id:470) 
          (Token id:Id.Lit_Chars val:'\ttest_config merge.summary yes &&\n' span_id:471) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:472) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:473) (Token id:Id.Lit_Chars val:'\tgit fetch . left right &&\n' span_id:474) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit fmt-merge-msg <.git/FETCH_HEAD >actual4 &&\n'
            span_id: 475
          ) (Token id:Id.Lit_Chars val:'\n' span_id:476) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual1 &&\n' span_id:477) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual2 &&\n' span_id:478) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual3 &&\n' span_id:479) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual4\n' span_id:480)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'merge-msg -F' span_id:487))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:491) 
          (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.log &&\n' span_id:492) (Token id:Id.Lit_Chars val:'\ttest_config merge.summary yes &&\n' span_id:493) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:494) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:495) 
          (Token id:Id.Lit_Chars val:'\tgit fetch . left right &&\n' span_id:496) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg -F .git/FETCH_HEAD >actual &&\n' span_id:497) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:498)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'merge-msg -F in subdirectory' span_id:505))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:509) 
          (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.log &&\n' span_id:510) (Token id:Id.Lit_Chars val:'\ttest_config merge.summary yes &&\n' span_id:511) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:512) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:513) 
          (Token id:Id.Lit_Chars val:'\tgit fetch . left right &&\n' span_id:514) (Token id:Id.Lit_Chars val:'\tmkdir sub &&\n' span_id:515) 
          (Token
            id: Id.Lit_Chars
            val: '\tcp .git/FETCH_HEAD sub/FETCH_HEAD &&\n'
            span_id: 516
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:517) 
          (Token id:Id.Lit_Chars val:'\t\tcd sub &&\n' span_id:518) (Token id:Id.Lit_Chars val:'\t\tgit fmt-merge-msg -F FETCH_HEAD >../actual\n' span_id:519) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:520) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:521)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'merge-msg with nothing to merge' span_id:528))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:532) 
          (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.log &&\n' span_id:533) (Token id:Id.Lit_Chars val:'\ttest_config merge.summary yes &&\n' span_id:534) 
          (Token id:Id.Lit_Chars val:'\n' span_id:535) (Token id:Id.Lit_Chars val:'\t>empty &&\n' span_id:536) (Token id:Id.Lit_Chars val:'\n' span_id:537) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:538) (Token id:Id.Lit_Chars val:'\t\tcd remote &&\n' span_id:539) 
          (Token id:Id.Lit_Chars val:'\t\tgit checkout -b unrelated &&\n' span_id:540) (Token id:Id.Lit_Chars val:'\t\ttest_tick &&\n' span_id:541) 
          (Token id:Id.Lit_Chars val:'\t\tgit fetch origin &&\n' span_id:542) (Token id:Id.Lit_Chars val:'\t\tgit fmt-merge-msg <.git/FETCH_HEAD >../actual\n' span_id:543) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:544) (Token id:Id.Lit_Chars val:'\n' span_id:545) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp empty actual\n' span_id:546)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'merge-msg tag' span_id:553))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:557) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF &&\n' span_id:558) (Token id:Id.Lit_Chars val:'\tMerge tag ${apos}tag-r3${apos}\n' span_id:559) 
          (Token id:Id.Lit_Chars val:'\n' span_id:560) (Token id:Id.Lit_Chars val:'\t* tag ${apos}tag-r3${apos}:\n' span_id:561) 
          (Token id:Id.Lit_Chars val:'\t  Right #3\n' span_id:562) (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:563) 
          (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:564) (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:565) (Token id:Id.Lit_Chars val:'\n' span_id:566) 
          (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.log &&\n' span_id:567) (Token id:Id.Lit_Chars val:'\ttest_config merge.summary yes &&\n' span_id:568) 
          (Token id:Id.Lit_Chars val:'\n' span_id:569) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:570) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:571) (Token id:Id.Lit_Chars val:'\tgit fetch . tag tag-r3 &&\n' span_id:572) 
          (Token id:Id.Lit_Chars val:'\n' span_id:573) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n' span_id:574) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:575)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'merge-msg two tags' span_id:582))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:586) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF &&\n' span_id:587) 
          (Token
            id: Id.Lit_Chars
            val: '\tMerge tags ${apos}tag-r3${apos} and ${apos}tag-l5${apos}\n'
            span_id: 588
          ) (Token id:Id.Lit_Chars val:'\n' span_id:589) 
          (Token id:Id.Lit_Chars val:'\t* tag ${apos}tag-r3${apos}:\n' span_id:590) (Token id:Id.Lit_Chars val:'\t  Right #3\n' span_id:591) 
          (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:592) (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:593) (Token id:Id.Lit_Chars val:'\n' span_id:594) 
          (Token
            id: Id.Lit_Chars
            val: '\t# By Another Author (3) and A U Thor (2)\n'
            span_id: 595
          ) (Token id:Id.Lit_Chars val:'\t# Via Another Committer\n' span_id:596) 
          (Token id:Id.Lit_Chars val:'\t* tag ${apos}tag-l5${apos}:\n' span_id:597) (Token id:Id.Lit_Chars val:'\t  Left #5\n' span_id:598) 
          (Token id:Id.Lit_Chars val:'\t  Left #4\n' span_id:599) (Token id:Id.Lit_Chars val:'\t  Left #3\n' span_id:600) 
          (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:601) (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:602) 
          (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:603) (Token id:Id.Lit_Chars val:'\n' span_id:604) 
          (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.log &&\n' span_id:605) (Token id:Id.Lit_Chars val:'\ttest_config merge.summary yes &&\n' span_id:606) 
          (Token id:Id.Lit_Chars val:'\n' span_id:607) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:608) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:609) (Token id:Id.Lit_Chars val:'\tgit fetch . tag tag-r3 tag tag-l5 &&\n' span_id:610) 
          (Token id:Id.Lit_Chars val:'\n' span_id:611) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n' span_id:612) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:613)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'merge-msg tag and branch' span_id:620))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:624) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<-EOF &&\n' span_id:625) 
          (Token
            id: Id.Lit_Chars
            val: '\tMerge branch ${apos}left${apos}, tag ${apos}tag-r3${apos}\n'
            span_id: 626
          ) (Token id:Id.Lit_Chars val:'\n' span_id:627) 
          (Token id:Id.Lit_Chars val:'\t* tag ${apos}tag-r3${apos}:\n' span_id:628) (Token id:Id.Lit_Chars val:'\t  Right #3\n' span_id:629) 
          (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:630) (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:631) (Token id:Id.Lit_Chars val:'\n' span_id:632) 
          (Token
            id: Id.Lit_Chars
            val: '\t# By Another Author (3) and A U Thor (2)\n'
            span_id: 633
          ) (Token id:Id.Lit_Chars val:'\t# Via Another Committer\n' span_id:634) 
          (Token id:Id.Lit_Chars val:'\t* left:\n' span_id:635) (Token id:Id.Lit_Chars val:'\t  Left #5\n' span_id:636) 
          (Token id:Id.Lit_Chars val:'\t  Left #4\n' span_id:637) (Token id:Id.Lit_Chars val:'\t  Left #3\n' span_id:638) 
          (Token id:Id.Lit_Chars val:'\t  Common #2\n' span_id:639) (Token id:Id.Lit_Chars val:'\t  Common #1\n' span_id:640) 
          (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:641) (Token id:Id.Lit_Chars val:'\n' span_id:642) 
          (Token id:Id.Lit_Chars val:'\ttest_unconfig merge.log &&\n' span_id:643) (Token id:Id.Lit_Chars val:'\ttest_config merge.summary yes &&\n' span_id:644) 
          (Token id:Id.Lit_Chars val:'\n' span_id:645) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:646) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:647) (Token id:Id.Lit_Chars val:'\tgit fetch . tag tag-r3 left &&\n' span_id:648) 
          (Token id:Id.Lit_Chars val:'\n' span_id:649) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n' span_id:650) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:651)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'merge-msg lots of commits' span_id:658))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:662) 
          (Token id:Id.Lit_Chars val:'\t{\n' span_id:663) (Token id:Id.Lit_Chars val:'\t\tcat <<-EOF &&\n' span_id:664) 
          (Token id:Id.Lit_Chars val:'\t\tMerge branch ${apos}long${apos}\n' span_id:665) (Token id:Id.Lit_Chars val:'\n' span_id:666) 
          (Token id:Id.Lit_Chars val:'\t\t* long: (35 commits)\n' span_id:667) (Token id:Id.Lit_Chars val:'\t\tEOF\n' span_id:668) (Token id:Id.Lit_Chars val:'\n' span_id:669) 
          (Token id:Id.Lit_Chars val:'\t\ti=29 &&\n' span_id:670) (Token id:Id.Lit_Chars val:'\t\twhile test $i -gt 9\n' span_id:671) 
          (Token id:Id.Lit_Chars val:'\t\tdo\n' span_id:672) (Token id:Id.Lit_Chars val:'\t\t\techo "  $i" &&\n' span_id:673) 
          (Token id:Id.Lit_Chars val:'\t\t\ti=$(($i-1))\n' span_id:674) (Token id:Id.Lit_Chars val:'\t\tdone &&\n' span_id:675) 
          (Token id:Id.Lit_Chars val:'\t\techo "  ..."\n' span_id:676) (Token id:Id.Lit_Chars val:'\t} >expected &&\n' span_id:677) 
          (Token id:Id.Lit_Chars val:'\n' span_id:678) (Token id:Id.Lit_Chars val:'\ttest_config merge.summary yes &&\n' span_id:679) 
          (Token id:Id.Lit_Chars val:'\n' span_id:680) (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:681) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:682) (Token id:Id.Lit_Chars val:'\tgit fetch . long &&\n' span_id:683) 
          (Token id:Id.Lit_Chars val:'\n' span_id:684) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n' span_id:685) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:686)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'merge-msg with "merging" an annotated tag' span_id:693))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:697) 
          (Token id:Id.Lit_Chars val:'\ttest_config merge.log true &&\n' span_id:698) (Token id:Id.Lit_Chars val:'\n' span_id:699) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master^0 &&\n' span_id:700) (Token id:Id.Lit_Chars val:'\tgit commit --allow-empty -m "One step ahead" &&\n' span_id:701) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit tag -a -m "An annotated one" annote HEAD &&\n'
            span_id: 702
          ) (Token id:Id.Lit_Chars val:'\n' span_id:703) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:704) (Token id:Id.Lit_Chars val:'\tgit fetch . annote &&\n' span_id:705) 
          (Token id:Id.Lit_Chars val:'\n' span_id:706) (Token id:Id.Lit_Chars val:'\tgit fmt-merge-msg <.git/FETCH_HEAD >actual &&\n' span_id:707) 
          (Token id:Id.Lit_Chars val:'\t{\n' span_id:708) (Token id:Id.Lit_Chars val:'\t\tcat <<-\\EOF\n' span_id:709) 
          (Token id:Id.Lit_Chars val:'\t\tMerge tag ' span_id:710)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:712)) 
        (SQ (Token id:Id.Lit_Chars val:annote span_id:714)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:716)) 
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:718) (Token id:Id.Lit_Chars val:'\n' span_id:719) 
          (Token id:Id.Lit_Chars val:'\t\tAn annotated one\n' span_id:720) (Token id:Id.Lit_Chars val:'\n' span_id:721) (Token id:Id.Lit_Chars val:'\t\t* tag ' span_id:722)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:724)) 
        (SQ (Token id:Id.Lit_Chars val:annote span_id:726)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:728)) 
        (SQ (Token id:Id.Lit_Chars val:':\n' span_id:730) 
          (Token id:Id.Lit_Chars val:'\t\t  One step ahead\n' span_id:731) (Token id:Id.Lit_Chars val:'\t\tEOF\n' span_id:732) 
          (Token id:Id.Lit_Chars val:'\t} >expected &&\n' span_id:733) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual &&\n' span_id:734) 
          (Token id:Id.Lit_Chars val:'\n' span_id:735) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git reset --hard" &&\n' span_id:736) 
          (Token id:Id.Lit_Chars val:'\tannote=$(git rev-parse annote) &&\n' span_id:737) (Token id:Id.Lit_Chars val:'\tgit merge --no-commit $annote &&\n' span_id:738) 
          (Token id:Id.Lit_Chars val:'\t{\n' span_id:739) (Token id:Id.Lit_Chars val:'\t\tcat <<-EOF\n' span_id:740) 
          (Token id:Id.Lit_Chars val:'\t\tMerge tag ' span_id:741)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:743)) 
        (SQ (Token id:Id.Lit_Chars val:'$annote' span_id:745)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:747)) 
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:749) (Token id:Id.Lit_Chars val:'\n' span_id:750) 
          (Token id:Id.Lit_Chars val:'\t\tAn annotated one\n' span_id:751) (Token id:Id.Lit_Chars val:'\n' span_id:752) (Token id:Id.Lit_Chars val:'\t\t* tag ' span_id:753)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:755)) 
        (SQ (Token id:Id.Lit_Chars val:'$annote' span_id:757)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:759)) 
        (SQ (Token id:Id.Lit_Chars val:':\n' span_id:761) 
          (Token id:Id.Lit_Chars val:'\t\t  One step ahead\n' span_id:762) (Token id:Id.Lit_Chars val:'\t\tEOF\n' span_id:763) 
          (Token id:Id.Lit_Chars val:'\t} >expected &&\n' span_id:764) (Token id:Id.Lit_Chars val:'\ttest_cmp expected .git/MERGE_MSG\n' span_id:765)
        )
      }
    )
    (C {(test_done)})
  ]
)