(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:'git status advice' span_id:21))}
          spids: [19]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(.)} {(DQ ($ Id.VSub_DollarName '$TEST_DIRECTORY')) (/lib-rebase.sh)})
    (C {(set_fake_editor)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prepare for conflicts' span_id:44))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:48) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config --global advice.statusuoption false &&\n'
            span_id: 49
          ) (Token id:Id.Lit_Chars val:'\ttest_commit init main.txt init &&\n' span_id:50) 
          (Token id:Id.Lit_Chars val:'\tgit branch conflicts &&\n' span_id:51) (Token id:Id.Lit_Chars val:'\ttest_commit on_master main.txt on_master &&\n' span_id:52) 
          (Token id:Id.Lit_Chars val:'\tgit checkout conflicts &&\n' span_id:53) (Token id:Id.Lit_Chars val:'\ttest_commit on_conflicts main.txt on_conflicts\n' span_id:54)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status when conflicts unresolved' span_id:62))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:66) 
          (Token id:Id.Lit_Chars val:'\ttest_must_fail git merge master &&\n' span_id:67) (Token id:Id.Lit_Chars val:'\tcat >expected <<\\EOF &&\n' span_id:68) 
          (Token id:Id.Lit_Chars val:'On branch conflicts\n' span_id:69) (Token id:Id.Lit_Chars val:'You have unmerged paths.\n' span_id:70) 
          (Token id:Id.Lit_Chars val:'  (fix conflicts and run "git commit")\n' span_id:71) (Token id:Id.Lit_Chars val:'  (use "git merge --abort" to abort the merge)\n' span_id:72) 
          (Token id:Id.Lit_Chars val:'\n' span_id:73) (Token id:Id.Lit_Chars val:'Unmerged paths:\n' span_id:74) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git add <file>..." to mark resolution)\n'
            span_id: 75
          ) (Token id:Id.Lit_Chars val:'\n' span_id:76) 
          (Token id:Id.Lit_Chars val:'\tboth modified:   main.txt\n' span_id:77) (Token id:Id.Lit_Chars val:'\n' span_id:78) 
          (Token
            id: Id.Lit_Chars
            val: 'no changes added to commit (use "git add" and/or "git commit -a")\n'
            span_id: 79
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:80) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 81
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:82)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status when conflicts resolved before commit' span_id:90))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:94) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard conflicts &&\n' span_id:95) (Token id:Id.Lit_Chars val:'\ttest_must_fail git merge master &&\n' span_id:96) 
          (Token id:Id.Lit_Chars val:'\techo one >main.txt &&\n' span_id:97) (Token id:Id.Lit_Chars val:'\tgit add main.txt &&\n' span_id:98) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<\\EOF &&\n' span_id:99) (Token id:Id.Lit_Chars val:'On branch conflicts\n' span_id:100) 
          (Token
            id: Id.Lit_Chars
            val: 'All conflicts fixed but you are still merging.\n'
            span_id: 101
          ) (Token id:Id.Lit_Chars val:'  (use "git commit" to conclude merge)\n' span_id:102) 
          (Token id:Id.Lit_Chars val:'\n' span_id:103) (Token id:Id.Lit_Chars val:'Changes to be committed:\n' span_id:104) 
          (Token id:Id.Lit_Chars val:'\n' span_id:105) (Token id:Id.Lit_Chars val:'\tmodified:   main.txt\n' span_id:106) 
          (Token id:Id.Lit_Chars val:'\n' span_id:107) 
          (Token
            id: Id.Lit_Chars
            val: 'Untracked files not listed (use -u option to show untracked files)\n'
            span_id: 108
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:109) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 110
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:111)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prepare for rebase conflicts' span_id:119))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:123) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:124) (Token id:Id.Lit_Chars val:'\tgit checkout -b rebase_conflicts &&\n' span_id:125) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_rebase main.txt one &&\n'
            span_id: 126
          ) (Token id:Id.Lit_Chars val:'\ttest_commit two_rebase main.txt two &&\n' span_id:127) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit three_rebase main.txt three\n'
            span_id: 128
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status when rebase in progress before resolving conflicts'
            span_id: 136
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:140) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git rebase --abort" &&\n'
            span_id: 141
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD^^) &&\n' span_id:142) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git rebase HEAD^ --onto HEAD^^ &&\n'
            span_id: 143
          ) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:144) 
          (Token id:Id.Lit_Chars val:'rebase in progress; onto $ONTO\n' span_id:145) (Token id:Id.Lit_Chars val:'You are currently rebasing branch ' span_id:146)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:148)) 
        (SQ (Token id:Id.Lit_Chars val:rebase_conflicts span_id:150)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:152)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:154)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:156)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:158)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:160)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:162) 
          (Token
            id: Id.Lit_Chars
            val: '  (fix conflicts and then run "git rebase --continue")\n'
            span_id: 163
          ) (Token id:Id.Lit_Chars val:'  (use "git rebase --skip" to skip this patch)\n' span_id:164) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --abort" to check out the original branch)\n'
            span_id: 165
          ) (Token id:Id.Lit_Chars val:'\n' span_id:166) 
          (Token id:Id.Lit_Chars val:'Unmerged paths:\n' span_id:167) (Token id:Id.Lit_Chars val:'  (use "git reset HEAD <file>..." to unstage)\n' span_id:168) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git add <file>..." to mark resolution)\n'
            span_id: 169
          ) (Token id:Id.Lit_Chars val:'\n' span_id:170) 
          (Token id:Id.Lit_Chars val:'\tboth modified:   main.txt\n' span_id:171) (Token id:Id.Lit_Chars val:'\n' span_id:172) 
          (Token
            id: Id.Lit_Chars
            val: 'no changes added to commit (use "git add" and/or "git commit -a")\n'
            span_id: 173
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:174) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 175
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:176)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status when rebase in progress before rebase --continue'
            span_id: 184
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:188) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit reset --hard rebase_conflicts &&\n'
            span_id: 189
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:190) 
          (Token
            id: Id.Lit_Chars
            val: '\tONTO=$(git rev-parse --short HEAD^^) &&\n'
            span_id: 191
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase HEAD^ --onto HEAD^^ &&\n' span_id:192) 
          (Token id:Id.Lit_Chars val:'\techo three >main.txt &&\n' span_id:193) (Token id:Id.Lit_Chars val:'\tgit add main.txt &&\n' span_id:194) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:195) (Token id:Id.Lit_Chars val:'rebase in progress; onto $ONTO\n' span_id:196) 
          (Token id:Id.Lit_Chars val:'You are currently rebasing branch ' span_id:197)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:199)) 
        (SQ (Token id:Id.Lit_Chars val:rebase_conflicts span_id:201)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:203)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:205)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:207)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:209)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:211)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:213) 
          (Token
            id: Id.Lit_Chars
            val: '  (all conflicts fixed: run "git rebase --continue")\n'
            span_id: 214
          ) (Token id:Id.Lit_Chars val:'\n' span_id:215) 
          (Token id:Id.Lit_Chars val:'Changes to be committed:\n' span_id:216) (Token id:Id.Lit_Chars val:'  (use "git reset HEAD <file>..." to unstage)\n' span_id:217) 
          (Token id:Id.Lit_Chars val:'\n' span_id:218) (Token id:Id.Lit_Chars val:'\tmodified:   main.txt\n' span_id:219) 
          (Token id:Id.Lit_Chars val:'\n' span_id:220) 
          (Token
            id: Id.Lit_Chars
            val: 'Untracked files not listed (use -u option to show untracked files)\n'
            span_id: 221
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:222) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 223
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:224)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prepare for rebase_i_conflicts' span_id:232))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:236) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:237) (Token id:Id.Lit_Chars val:'\tgit checkout -b rebase_i_conflicts &&\n' span_id:238) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_unmerge main.txt one_unmerge &&\n'
            span_id: 239
          ) (Token id:Id.Lit_Chars val:'\tgit branch rebase_i_conflicts_second &&\n' span_id:240) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_master main.txt one_master &&\n'
            span_id: 241
          ) (Token id:Id.Lit_Chars val:'\tgit checkout rebase_i_conflicts_second &&\n' span_id:242) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_second main.txt one_second\n'
            span_id: 243
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status during rebase -i when conflicts unresolved'
            span_id: 251
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:255) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git rebase --abort" &&\n'
            span_id: 256
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short rebase_i_conflicts) &&\n' span_id:257) 
          (Token
            id: Id.Lit_Chars
            val: '\tLAST_COMMIT=$(git rev-parse --short rebase_i_conflicts_second) &&\n'
            span_id: 258
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase -i rebase_i_conflicts &&\n' span_id:259) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:260) (Token id:Id.Lit_Chars val:'interactive rebase in progress; onto $ONTO\n' span_id:261) 
          (Token id:Id.Lit_Chars val:'Last command done (1 command done):\n' span_id:262) (Token id:Id.Lit_Chars val:'   pick $LAST_COMMIT one_second\n' span_id:263) 
          (Token id:Id.Lit_Chars val:'No commands remaining.\n' span_id:264) (Token id:Id.Lit_Chars val:'You are currently rebasing branch ' span_id:265)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:267)) 
        (SQ (Token id:Id.Lit_Chars val:rebase_i_conflicts_second span_id:269)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:271)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:273)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:275)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:277)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:279)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:281) 
          (Token
            id: Id.Lit_Chars
            val: '  (fix conflicts and then run "git rebase --continue")\n'
            span_id: 282
          ) (Token id:Id.Lit_Chars val:'  (use "git rebase --skip" to skip this patch)\n' span_id:283) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --abort" to check out the original branch)\n'
            span_id: 284
          ) (Token id:Id.Lit_Chars val:'\n' span_id:285) 
          (Token id:Id.Lit_Chars val:'Unmerged paths:\n' span_id:286) (Token id:Id.Lit_Chars val:'  (use "git reset HEAD <file>..." to unstage)\n' span_id:287) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git add <file>..." to mark resolution)\n'
            span_id: 288
          ) (Token id:Id.Lit_Chars val:'\n' span_id:289) 
          (Token id:Id.Lit_Chars val:'\tboth modified:   main.txt\n' span_id:290) (Token id:Id.Lit_Chars val:'\n' span_id:291) 
          (Token
            id: Id.Lit_Chars
            val: 'no changes added to commit (use "git add" and/or "git commit -a")\n'
            span_id: 292
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:293) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 294
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:295)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status during rebase -i after resolving conflicts'
            span_id: 303
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:307) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit reset --hard rebase_i_conflicts_second &&\n'
            span_id: 308
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:309) 
          (Token
            id: Id.Lit_Chars
            val: '\tONTO=$(git rev-parse --short rebase_i_conflicts) &&\n'
            span_id: 310
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tLAST_COMMIT=$(git rev-parse --short rebase_i_conflicts_second) &&\n'
            span_id: 311
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase -i rebase_i_conflicts &&\n' span_id:312) 
          (Token id:Id.Lit_Chars val:'\tgit add main.txt &&\n' span_id:313) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:314) 
          (Token
            id: Id.Lit_Chars
            val: 'interactive rebase in progress; onto $ONTO\n'
            span_id: 315
          ) (Token id:Id.Lit_Chars val:'Last command done (1 command done):\n' span_id:316) 
          (Token id:Id.Lit_Chars val:'   pick $LAST_COMMIT one_second\n' span_id:317) (Token id:Id.Lit_Chars val:'No commands remaining.\n' span_id:318) 
          (Token id:Id.Lit_Chars val:'You are currently rebasing branch ' span_id:319)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:321)) 
        (SQ (Token id:Id.Lit_Chars val:rebase_i_conflicts_second span_id:323)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:325)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:327)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:329)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:331)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:333)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:335) 
          (Token
            id: Id.Lit_Chars
            val: '  (all conflicts fixed: run "git rebase --continue")\n'
            span_id: 336
          ) (Token id:Id.Lit_Chars val:'\n' span_id:337) 
          (Token id:Id.Lit_Chars val:'Changes to be committed:\n' span_id:338) (Token id:Id.Lit_Chars val:'  (use "git reset HEAD <file>..." to unstage)\n' span_id:339) 
          (Token id:Id.Lit_Chars val:'\n' span_id:340) (Token id:Id.Lit_Chars val:'\tmodified:   main.txt\n' span_id:341) 
          (Token id:Id.Lit_Chars val:'\n' span_id:342) 
          (Token
            id: Id.Lit_Chars
            val: 'Untracked files not listed (use -u option to show untracked files)\n'
            span_id: 343
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:344) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 345
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:346)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status when rebasing -i in edit mode' span_id:354))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:358) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:359) (Token id:Id.Lit_Chars val:'\tgit checkout -b rebase_i_edit &&\n' span_id:360) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_rebase_i main.txt one &&\n'
            span_id: 361
          ) (Token id:Id.Lit_Chars val:'\ttest_commit two_rebase_i main.txt two &&\n' span_id:362) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short rebase_i_edit) &&\n'
            span_id: 363
          ) (Token id:Id.Lit_Chars val:'\ttest_commit three_rebase_i main.txt three &&\n' span_id:364) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT3=$(git rev-parse --short rebase_i_edit) &&\n'
            span_id: 365
          ) (Token id:Id.Lit_Chars val:'\tFAKE_LINES="1 edit 2" &&\n' span_id:366) 
          (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:367) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:368) 
          (Token
            id: Id.Lit_Chars
            val: '\tONTO=$(git rev-parse --short HEAD~2) &&\n'
            span_id: 369
          ) (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~2 &&\n' span_id:370) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:371) (Token id:Id.Lit_Chars val:'interactive rebase in progress; onto $ONTO\n' span_id:372) 
          (Token id:Id.Lit_Chars val:'Last commands done (2 commands done):\n' span_id:373) (Token id:Id.Lit_Chars val:'   pick $COMMIT2 two_rebase_i\n' span_id:374) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_rebase_i\n' span_id:375) (Token id:Id.Lit_Chars val:'No commands remaining.\n' span_id:376) 
          (Token
            id: Id.Lit_Chars
            val: 'You are currently editing a commit while rebasing branch '
            span_id: 377
          )
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:379)) 
        (SQ (Token id:Id.Lit_Chars val:rebase_i_edit span_id:381)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:383)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:385)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:387)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:389)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:391)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:393) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 394
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 395
          ) (Token id:Id.Lit_Chars val:'\n' span_id:396) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 397
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:398) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 399
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:400)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status when splitting a commit' span_id:408))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:412) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:413) (Token id:Id.Lit_Chars val:'\tgit checkout -b split_commit &&\n' span_id:414) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_split main.txt one &&\n'
            span_id: 415
          ) (Token id:Id.Lit_Chars val:'\ttest_commit two_split main.txt two &&\n' span_id:416) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short split_commit) &&\n'
            span_id: 417
          ) (Token id:Id.Lit_Chars val:'\ttest_commit three_split main.txt three &&\n' span_id:418) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT3=$(git rev-parse --short split_commit) &&\n'
            span_id: 419
          ) (Token id:Id.Lit_Chars val:'\ttest_commit four_split main.txt four &&\n' span_id:420) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT4=$(git rev-parse --short split_commit) &&\n'
            span_id: 421
          ) (Token id:Id.Lit_Chars val:'\tFAKE_LINES="1 edit 2 3" &&\n' span_id:422) 
          (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:423) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:424) 
          (Token
            id: Id.Lit_Chars
            val: '\tONTO=$(git rev-parse --short HEAD~3) &&\n'
            span_id: 425
          ) (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:426) 
          (Token id:Id.Lit_Chars val:'\tgit reset HEAD^ &&\n' span_id:427) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:428) 
          (Token
            id: Id.Lit_Chars
            val: 'interactive rebase in progress; onto $ONTO\n'
            span_id: 429
          ) (Token id:Id.Lit_Chars val:'Last commands done (2 commands done):\n' span_id:430) 
          (Token id:Id.Lit_Chars val:'   pick $COMMIT2 two_split\n' span_id:431) (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_split\n' span_id:432) 
          (Token
            id: Id.Lit_Chars
            val: 'Next command to do (1 remaining command):\n'
            span_id: 433
          ) (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_split\n' span_id:434) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --edit-todo" to view and edit)\n'
            span_id: 435
          ) (Token id:Id.Lit_Chars val:'You are currently splitting a commit while rebasing branch ' span_id:436)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:438)) 
        (SQ (Token id:Id.Lit_Chars val:split_commit span_id:440)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:442)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:444)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:446)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:448)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:450)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:452) 
          (Token
            id: Id.Lit_Chars
            val: '  (Once your working directory is clean, run "git rebase --continue")\n'
            span_id: 453
          ) (Token id:Id.Lit_Chars val:'\n' span_id:454) 
          (Token id:Id.Lit_Chars val:'Changes not staged for commit:\n' span_id:455) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git add <file>..." to update what will be committed)\n'
            span_id: 456
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git checkout -- <file>..." to discard changes in working directory)\n'
            span_id: 457
          ) (Token id:Id.Lit_Chars val:'\n' span_id:458) 
          (Token id:Id.Lit_Chars val:'\tmodified:   main.txt\n' span_id:459) (Token id:Id.Lit_Chars val:'\n' span_id:460) 
          (Token
            id: Id.Lit_Chars
            val: 'no changes added to commit (use "git add" and/or "git commit -a")\n'
            span_id: 461
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:462) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 463
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:464)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status after editing the last commit with --amend during a rebase -i'
            span_id: 472
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:476) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:477) (Token id:Id.Lit_Chars val:'\tgit checkout -b amend_last &&\n' span_id:478) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_amend main.txt one &&\n'
            span_id: 479
          ) (Token id:Id.Lit_Chars val:'\ttest_commit two_amend main.txt two &&\n' span_id:480) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit three_amend main.txt three &&\n'
            span_id: 481
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT3=$(git rev-parse --short amend_last) &&\n' span_id:482) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit four_amend main.txt four &&\n'
            span_id: 483
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT4=$(git rev-parse --short amend_last) &&\n' span_id:484) 
          (Token id:Id.Lit_Chars val:'\tFAKE_LINES="1 2 edit 3" &&\n' span_id:485) (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:486) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git rebase --abort" &&\n'
            span_id: 487
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~3) &&\n' span_id:488) 
          (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:489) (Token id:Id.Lit_Chars val:'\tgit commit --amend -m "foo" &&\n' span_id:490) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:491) (Token id:Id.Lit_Chars val:'interactive rebase in progress; onto $ONTO\n' span_id:492) 
          (Token id:Id.Lit_Chars val:'Last commands done (3 commands done):\n' span_id:493) (Token id:Id.Lit_Chars val:'   pick $COMMIT3 three_amend\n' span_id:494) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT4 four_amend\n' span_id:495) (Token id:Id.Lit_Chars val:'  (see more in file .git/rebase-merge/done)\n' span_id:496) 
          (Token id:Id.Lit_Chars val:'No commands remaining.\n' span_id:497) (Token id:Id.Lit_Chars val:'You are currently editing a commit while rebasing branch ' span_id:498)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:500)) 
        (SQ (Token id:Id.Lit_Chars val:amend_last span_id:502)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:504)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:506)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:508)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:510)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:512)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:514) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 515
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 516
          ) (Token id:Id.Lit_Chars val:'\n' span_id:517) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 518
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:519) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 520
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:521)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prepare for several edits' span_id:529))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:533) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:534) (Token id:Id.Lit_Chars val:'\tgit checkout -b several_edits &&\n' span_id:535) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_edits main.txt one &&\n'
            span_id: 536
          ) (Token id:Id.Lit_Chars val:'\ttest_commit two_edits main.txt two &&\n' span_id:537) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit three_edits main.txt three &&\n'
            span_id: 538
          ) (Token id:Id.Lit_Chars val:'\ttest_commit four_edits main.txt four\n' span_id:539)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status: (continue first edit) second edit' span_id:547))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:551) 
          (Token id:Id.Lit_Chars val:'\tFAKE_LINES="edit 1 edit 2 3" &&\n' span_id:552) (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:553) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git rebase --abort" &&\n'
            span_id: 554
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT2=$(git rev-parse --short several_edits^^) &&\n' span_id:555) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT3=$(git rev-parse --short several_edits^) &&\n'
            span_id: 556
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT4=$(git rev-parse --short several_edits) &&\n' span_id:557) 
          (Token
            id: Id.Lit_Chars
            val: '\tONTO=$(git rev-parse --short HEAD~3) &&\n'
            span_id: 558
          ) (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:559) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:560) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:561) 
          (Token
            id: Id.Lit_Chars
            val: 'interactive rebase in progress; onto $ONTO\n'
            span_id: 562
          ) (Token id:Id.Lit_Chars val:'Last commands done (2 commands done):\n' span_id:563) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT2 two_edits\n' span_id:564) (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_edits\n' span_id:565) 
          (Token
            id: Id.Lit_Chars
            val: 'Next command to do (1 remaining command):\n'
            span_id: 566
          ) (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_edits\n' span_id:567) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --edit-todo" to view and edit)\n'
            span_id: 568
          ) (Token id:Id.Lit_Chars val:'You are currently editing a commit while rebasing branch ' span_id:569)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:571)) 
        (SQ (Token id:Id.Lit_Chars val:several_edits span_id:573)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:575)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:577)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:579)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:581)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:583)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:585) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 586
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 587
          ) (Token id:Id.Lit_Chars val:'\n' span_id:588) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 589
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:590) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 591
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:592)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status: (continue first edit) second edit and split'
            span_id: 600
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:604) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard several_edits &&\n' span_id:605) (Token id:Id.Lit_Chars val:'\tFAKE_LINES="edit 1 edit 2 3" &&\n' span_id:606) 
          (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:607) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:608) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short several_edits^^) &&\n'
            span_id: 609
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT3=$(git rev-parse --short several_edits^) &&\n' span_id:610) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT4=$(git rev-parse --short several_edits) &&\n'
            span_id: 611
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~3) &&\n' span_id:612) 
          (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:613) (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:614) 
          (Token id:Id.Lit_Chars val:'\tgit reset HEAD^ &&\n' span_id:615) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:616) 
          (Token
            id: Id.Lit_Chars
            val: 'interactive rebase in progress; onto $ONTO\n'
            span_id: 617
          ) (Token id:Id.Lit_Chars val:'Last commands done (2 commands done):\n' span_id:618) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT2 two_edits\n' span_id:619) (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_edits\n' span_id:620) 
          (Token
            id: Id.Lit_Chars
            val: 'Next command to do (1 remaining command):\n'
            span_id: 621
          ) (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_edits\n' span_id:622) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --edit-todo" to view and edit)\n'
            span_id: 623
          ) (Token id:Id.Lit_Chars val:'You are currently splitting a commit while rebasing branch ' span_id:624)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:626)) 
        (SQ (Token id:Id.Lit_Chars val:several_edits span_id:628)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:630)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:632)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:634)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:636)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:638)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:640) 
          (Token
            id: Id.Lit_Chars
            val: '  (Once your working directory is clean, run "git rebase --continue")\n'
            span_id: 641
          ) (Token id:Id.Lit_Chars val:'\n' span_id:642) 
          (Token id:Id.Lit_Chars val:'Changes not staged for commit:\n' span_id:643) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git add <file>..." to update what will be committed)\n'
            span_id: 644
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git checkout -- <file>..." to discard changes in working directory)\n'
            span_id: 645
          ) (Token id:Id.Lit_Chars val:'\n' span_id:646) 
          (Token id:Id.Lit_Chars val:'\tmodified:   main.txt\n' span_id:647) (Token id:Id.Lit_Chars val:'\n' span_id:648) 
          (Token
            id: Id.Lit_Chars
            val: 'no changes added to commit (use "git add" and/or "git commit -a")\n'
            span_id: 649
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:650) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 651
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:652)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status: (continue first edit) second edit and amend'
            span_id: 660
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:664) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard several_edits &&\n' span_id:665) (Token id:Id.Lit_Chars val:'\tFAKE_LINES="edit 1 edit 2 3" &&\n' span_id:666) 
          (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:667) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:668) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short several_edits^^) &&\n'
            span_id: 669
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT3=$(git rev-parse --short several_edits^) &&\n' span_id:670) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT4=$(git rev-parse --short several_edits) &&\n'
            span_id: 671
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~3) &&\n' span_id:672) 
          (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:673) (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:674) 
          (Token id:Id.Lit_Chars val:'\tgit commit --amend -m "foo" &&\n' span_id:675) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:676) 
          (Token
            id: Id.Lit_Chars
            val: 'interactive rebase in progress; onto $ONTO\n'
            span_id: 677
          ) (Token id:Id.Lit_Chars val:'Last commands done (2 commands done):\n' span_id:678) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT2 two_edits\n' span_id:679) (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_edits\n' span_id:680) 
          (Token
            id: Id.Lit_Chars
            val: 'Next command to do (1 remaining command):\n'
            span_id: 681
          ) (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_edits\n' span_id:682) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --edit-todo" to view and edit)\n'
            span_id: 683
          ) (Token id:Id.Lit_Chars val:'You are currently editing a commit while rebasing branch ' span_id:684)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:686)) 
        (SQ (Token id:Id.Lit_Chars val:several_edits span_id:688)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:690)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:692)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:694)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:696)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:698)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:700) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 701
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 702
          ) (Token id:Id.Lit_Chars val:'\n' span_id:703) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 704
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:705) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 706
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:707)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status: (amend first edit) second edit' span_id:715))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:719) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard several_edits &&\n' span_id:720) (Token id:Id.Lit_Chars val:'\tFAKE_LINES="edit 1 edit 2 3" &&\n' span_id:721) 
          (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:722) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:723) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short several_edits^^) &&\n'
            span_id: 724
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT3=$(git rev-parse --short several_edits^) &&\n' span_id:725) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT4=$(git rev-parse --short several_edits) &&\n'
            span_id: 726
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~3) &&\n' span_id:727) 
          (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:728) (Token id:Id.Lit_Chars val:'\tgit commit --amend -m "a" &&\n' span_id:729) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:730) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:731) 
          (Token
            id: Id.Lit_Chars
            val: 'interactive rebase in progress; onto $ONTO\n'
            span_id: 732
          ) (Token id:Id.Lit_Chars val:'Last commands done (2 commands done):\n' span_id:733) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT2 two_edits\n' span_id:734) (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_edits\n' span_id:735) 
          (Token
            id: Id.Lit_Chars
            val: 'Next command to do (1 remaining command):\n'
            span_id: 736
          ) (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_edits\n' span_id:737) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --edit-todo" to view and edit)\n'
            span_id: 738
          ) (Token id:Id.Lit_Chars val:'You are currently editing a commit while rebasing branch ' span_id:739)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:741)) 
        (SQ (Token id:Id.Lit_Chars val:several_edits span_id:743)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:745)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:747)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:749)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:751)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:753)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:755) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 756
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 757
          ) (Token id:Id.Lit_Chars val:'\n' span_id:758) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 759
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:760) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 761
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:762)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status: (amend first edit) second edit and split'
            span_id: 770
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:774) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard several_edits &&\n' span_id:775) (Token id:Id.Lit_Chars val:'\tFAKE_LINES="edit 1 edit 2 3" &&\n' span_id:776) 
          (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:777) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:778) 
          (Token
            id: Id.Lit_Chars
            val: '\tONTO=$(git rev-parse --short HEAD~3) &&\n'
            span_id: 779
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT2=$(git rev-parse --short several_edits^^) &&\n' span_id:780) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT3=$(git rev-parse --short several_edits^) &&\n'
            span_id: 781
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT4=$(git rev-parse --short several_edits) &&\n' span_id:782) 
          (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:783) (Token id:Id.Lit_Chars val:'\tgit commit --amend -m "b" &&\n' span_id:784) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:785) (Token id:Id.Lit_Chars val:'\tgit reset HEAD^ &&\n' span_id:786) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:787) (Token id:Id.Lit_Chars val:'interactive rebase in progress; onto $ONTO\n' span_id:788) 
          (Token id:Id.Lit_Chars val:'Last commands done (2 commands done):\n' span_id:789) (Token id:Id.Lit_Chars val:'   edit $COMMIT2 two_edits\n' span_id:790) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_edits\n' span_id:791) (Token id:Id.Lit_Chars val:'Next command to do (1 remaining command):\n' span_id:792) 
          (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_edits\n' span_id:793) (Token id:Id.Lit_Chars val:'  (use "git rebase --edit-todo" to view and edit)\n' span_id:794) 
          (Token
            id: Id.Lit_Chars
            val: 'You are currently splitting a commit while rebasing branch '
            span_id: 795
          )
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:797)) 
        (SQ (Token id:Id.Lit_Chars val:several_edits span_id:799)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:801)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:803)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:805)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:807)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:809)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:811) 
          (Token
            id: Id.Lit_Chars
            val: '  (Once your working directory is clean, run "git rebase --continue")\n'
            span_id: 812
          ) (Token id:Id.Lit_Chars val:'\n' span_id:813) 
          (Token id:Id.Lit_Chars val:'Changes not staged for commit:\n' span_id:814) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git add <file>..." to update what will be committed)\n'
            span_id: 815
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git checkout -- <file>..." to discard changes in working directory)\n'
            span_id: 816
          ) (Token id:Id.Lit_Chars val:'\n' span_id:817) 
          (Token id:Id.Lit_Chars val:'\tmodified:   main.txt\n' span_id:818) (Token id:Id.Lit_Chars val:'\n' span_id:819) 
          (Token
            id: Id.Lit_Chars
            val: 'no changes added to commit (use "git add" and/or "git commit -a")\n'
            span_id: 820
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:821) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 822
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:823)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status: (amend first edit) second edit and amend'
            span_id: 831
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:835) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard several_edits &&\n' span_id:836) (Token id:Id.Lit_Chars val:'\tFAKE_LINES="edit 1 edit 2 3" &&\n' span_id:837) 
          (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:838) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:839) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short several_edits^^) &&\n'
            span_id: 840
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT3=$(git rev-parse --short several_edits^) &&\n' span_id:841) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT4=$(git rev-parse --short several_edits) &&\n'
            span_id: 842
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~3) &&\n' span_id:843) 
          (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:844) (Token id:Id.Lit_Chars val:'\tgit commit --amend -m "c" &&\n' span_id:845) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:846) (Token id:Id.Lit_Chars val:'\tgit commit --amend -m "d" &&\n' span_id:847) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:848) (Token id:Id.Lit_Chars val:'interactive rebase in progress; onto $ONTO\n' span_id:849) 
          (Token id:Id.Lit_Chars val:'Last commands done (2 commands done):\n' span_id:850) (Token id:Id.Lit_Chars val:'   edit $COMMIT2 two_edits\n' span_id:851) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_edits\n' span_id:852) (Token id:Id.Lit_Chars val:'Next command to do (1 remaining command):\n' span_id:853) 
          (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_edits\n' span_id:854) (Token id:Id.Lit_Chars val:'  (use "git rebase --edit-todo" to view and edit)\n' span_id:855) 
          (Token
            id: Id.Lit_Chars
            val: 'You are currently editing a commit while rebasing branch '
            span_id: 856
          )
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:858)) 
        (SQ (Token id:Id.Lit_Chars val:several_edits span_id:860)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:862)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:864)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:866)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:868)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:870)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:872) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 873
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 874
          ) (Token id:Id.Lit_Chars val:'\n' span_id:875) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 876
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:877) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 878
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:879)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status: (split first edit) second edit' span_id:887))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:891) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard several_edits &&\n' span_id:892) (Token id:Id.Lit_Chars val:'\tFAKE_LINES="edit 1 edit 2 3" &&\n' span_id:893) 
          (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:894) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:895) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short several_edits^^) &&\n'
            span_id: 896
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT3=$(git rev-parse --short several_edits^) &&\n' span_id:897) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT4=$(git rev-parse --short several_edits) &&\n'
            span_id: 898
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~3) &&\n' span_id:899) 
          (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:900) (Token id:Id.Lit_Chars val:'\tgit reset HEAD^ &&\n' span_id:901) 
          (Token id:Id.Lit_Chars val:'\tgit add main.txt &&\n' span_id:902) (Token id:Id.Lit_Chars val:'\tgit commit -m "e" &&\n' span_id:903) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:904) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:905) 
          (Token
            id: Id.Lit_Chars
            val: 'interactive rebase in progress; onto $ONTO\n'
            span_id: 906
          ) (Token id:Id.Lit_Chars val:'Last commands done (2 commands done):\n' span_id:907) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT2 two_edits\n' span_id:908) (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_edits\n' span_id:909) 
          (Token
            id: Id.Lit_Chars
            val: 'Next command to do (1 remaining command):\n'
            span_id: 910
          ) (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_edits\n' span_id:911) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --edit-todo" to view and edit)\n'
            span_id: 912
          ) (Token id:Id.Lit_Chars val:'You are currently editing a commit while rebasing branch ' span_id:913)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:915)) 
        (SQ (Token id:Id.Lit_Chars val:several_edits span_id:917)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:919)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:921)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:923)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:925)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:927)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:929) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 930
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 931
          ) (Token id:Id.Lit_Chars val:'\n' span_id:932) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 933
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:934) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 935
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:936)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status: (split first edit) second edit and split'
            span_id: 944
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:948) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard several_edits &&\n' span_id:949) (Token id:Id.Lit_Chars val:'\tFAKE_LINES="edit 1 edit 2 3" &&\n' span_id:950) 
          (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:951) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:952) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short several_edits^^) &&\n'
            span_id: 953
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT3=$(git rev-parse --short several_edits^) &&\n' span_id:954) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT4=$(git rev-parse --short several_edits) &&\n'
            span_id: 955
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~3) &&\n' span_id:956) 
          (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:957) (Token id:Id.Lit_Chars val:'\tgit reset HEAD^ &&\n' span_id:958) 
          (Token id:Id.Lit_Chars val:'\tgit add main.txt &&\n' span_id:959) (Token id:Id.Lit_Chars val:'\tgit commit --amend -m "f" &&\n' span_id:960) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:961) (Token id:Id.Lit_Chars val:'\tgit reset HEAD^ &&\n' span_id:962) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:963) (Token id:Id.Lit_Chars val:'interactive rebase in progress; onto $ONTO\n' span_id:964) 
          (Token id:Id.Lit_Chars val:'Last commands done (2 commands done):\n' span_id:965) (Token id:Id.Lit_Chars val:'   edit $COMMIT2 two_edits\n' span_id:966) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_edits\n' span_id:967) (Token id:Id.Lit_Chars val:'Next command to do (1 remaining command):\n' span_id:968) 
          (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_edits\n' span_id:969) (Token id:Id.Lit_Chars val:'  (use "git rebase --edit-todo" to view and edit)\n' span_id:970) 
          (Token
            id: Id.Lit_Chars
            val: 'You are currently splitting a commit while rebasing branch '
            span_id: 971
          )
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:973)) 
        (SQ (Token id:Id.Lit_Chars val:several_edits span_id:975)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:977)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:979)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:981)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:983)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:985)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:987) 
          (Token
            id: Id.Lit_Chars
            val: '  (Once your working directory is clean, run "git rebase --continue")\n'
            span_id: 988
          ) (Token id:Id.Lit_Chars val:'\n' span_id:989) 
          (Token id:Id.Lit_Chars val:'Changes not staged for commit:\n' span_id:990) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git add <file>..." to update what will be committed)\n'
            span_id: 991
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git checkout -- <file>..." to discard changes in working directory)\n'
            span_id: 992
          ) (Token id:Id.Lit_Chars val:'\n' span_id:993) 
          (Token id:Id.Lit_Chars val:'\tmodified:   main.txt\n' span_id:994) (Token id:Id.Lit_Chars val:'\n' span_id:995) 
          (Token
            id: Id.Lit_Chars
            val: 'no changes added to commit (use "git add" and/or "git commit -a")\n'
            span_id: 996
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:997) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 998
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:999)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status: (split first edit) second edit and amend'
            span_id: 1007
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1011) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard several_edits &&\n' span_id:1012) (Token id:Id.Lit_Chars val:'\tFAKE_LINES="edit 1 edit 2 3" &&\n' span_id:1013) 
          (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:1014) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:1015) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short several_edits^^) &&\n'
            span_id: 1016
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT3=$(git rev-parse --short several_edits^) &&\n' span_id:1017) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT4=$(git rev-parse --short several_edits) &&\n'
            span_id: 1018
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~3) &&\n' span_id:1019) 
          (Token id:Id.Lit_Chars val:'\tgit rebase -i HEAD~3 &&\n' span_id:1020) (Token id:Id.Lit_Chars val:'\tgit reset HEAD^ &&\n' span_id:1021) 
          (Token id:Id.Lit_Chars val:'\tgit add main.txt &&\n' span_id:1022) (Token id:Id.Lit_Chars val:'\tgit commit --amend -m "g" &&\n' span_id:1023) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --continue &&\n' span_id:1024) (Token id:Id.Lit_Chars val:'\tgit commit --amend -m "h" &&\n' span_id:1025) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:1026) (Token id:Id.Lit_Chars val:'interactive rebase in progress; onto $ONTO\n' span_id:1027) 
          (Token
            id: Id.Lit_Chars
            val: 'Last commands done (2 commands done):\n'
            span_id: 1028
          ) (Token id:Id.Lit_Chars val:'   edit $COMMIT2 two_edits\n' span_id:1029) 
          (Token id:Id.Lit_Chars val:'   edit $COMMIT3 three_edits\n' span_id:1030) (Token id:Id.Lit_Chars val:'Next command to do (1 remaining command):\n' span_id:1031) 
          (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_edits\n' span_id:1032) (Token id:Id.Lit_Chars val:'  (use "git rebase --edit-todo" to view and edit)\n' span_id:1033) 
          (Token
            id: Id.Lit_Chars
            val: 'You are currently editing a commit while rebasing branch '
            span_id: 1034
          )
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1036)) 
        (SQ (Token id:Id.Lit_Chars val:several_edits span_id:1038)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1040)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:1042)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1044)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:1046)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1048)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:1050) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 1051
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 1052
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1053) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 1054
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1055) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1056
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1057)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prepare am_session' span_id:1065))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1069) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:1070) (Token id:Id.Lit_Chars val:'\tgit checkout -b am_session &&\n' span_id:1071) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_am one.txt "one" &&\n'
            span_id: 1072
          ) (Token id:Id.Lit_Chars val:'\ttest_commit two_am two.txt "two" &&\n' span_id:1073) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit three_am three.txt "three"\n'
            span_id: 1074
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status in an am session: file already exists' span_id:1082))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1086) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit checkout -b am_already_exists &&\n'
            span_id: 1087
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished "rm Maildir/* && git am --abort" &&\n' span_id:1088) 
          (Token id:Id.Lit_Chars val:'\tgit format-patch -1 -oMaildir &&\n' span_id:1089) (Token id:Id.Lit_Chars val:'\ttest_must_fail git am Maildir/*.patch &&\n' span_id:1090) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<\\EOF &&\n' span_id:1091) (Token id:Id.Lit_Chars val:'On branch am_already_exists\n' span_id:1092) 
          (Token
            id: Id.Lit_Chars
            val: 'You are in the middle of an am session.\n'
            span_id: 1093
          ) (Token id:Id.Lit_Chars val:'  (fix conflicts and then run "git am --continue")\n' span_id:1094) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git am --skip" to skip this patch)\n'
            span_id: 1095
          ) (Token id:Id.Lit_Chars val:'  (use "git am --abort" to restore the original branch)\n' span_id:1096) 
          (Token id:Id.Lit_Chars val:'\n' span_id:1097) (Token id:Id.Lit_Chars val:'nothing to commit (use -u to show untracked files)\n' span_id:1098) 
          (Token id:Id.Lit_Chars val:'EOF\n' span_id:1099) (Token id:Id.Lit_Chars val:'\tgit status --untracked-files=no >actual &&\n' span_id:1100) 
          (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1101)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status in an am session: file does not exist' span_id:1109))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1113) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard am_session &&\n' span_id:1114) (Token id:Id.Lit_Chars val:'\tgit checkout -b am_not_exists &&\n' span_id:1115) 
          (Token id:Id.Lit_Chars val:'\tgit rm three.txt &&\n' span_id:1116) (Token id:Id.Lit_Chars val:'\tgit commit -m "delete three.txt" &&\n' span_id:1117) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "rm Maildir/* && git am --abort" &&\n'
            span_id: 1118
          ) (Token id:Id.Lit_Chars val:'\tgit format-patch -1 -oMaildir &&\n' span_id:1119) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git am Maildir/*.patch &&\n'
            span_id: 1120
          ) (Token id:Id.Lit_Chars val:'\tcat >expected <<\\EOF &&\n' span_id:1121) 
          (Token id:Id.Lit_Chars val:'On branch am_not_exists\n' span_id:1122) (Token id:Id.Lit_Chars val:'You are in the middle of an am session.\n' span_id:1123) 
          (Token
            id: Id.Lit_Chars
            val: '  (fix conflicts and then run "git am --continue")\n'
            span_id: 1124
          ) (Token id:Id.Lit_Chars val:'  (use "git am --skip" to skip this patch)\n' span_id:1125) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git am --abort" to restore the original branch)\n'
            span_id: 1126
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1127) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 1128
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1129) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1130
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1131)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status in an am session: empty patch' span_id:1139))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1143) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard am_session &&\n' span_id:1144) (Token id:Id.Lit_Chars val:'\tgit checkout -b am_empty &&\n' span_id:1145) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "rm Maildir/* && git am --abort" &&\n'
            span_id: 1146
          ) (Token id:Id.Lit_Chars val:'\tgit format-patch -3 -oMaildir &&\n' span_id:1147) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit rm one.txt two.txt three.txt &&\n'
            span_id: 1148
          ) (Token id:Id.Lit_Chars val:'\tgit commit -m "delete all am_empty" &&\n' span_id:1149) 
          (Token
            id: Id.Lit_Chars
            val: '\techo error >Maildir/0002-two_am.patch &&\n'
            span_id: 1150
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git am Maildir/*.patch &&\n' span_id:1151) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<\\EOF &&\n' span_id:1152) (Token id:Id.Lit_Chars val:'On branch am_empty\n' span_id:1153) 
          (Token
            id: Id.Lit_Chars
            val: 'You are in the middle of an am session.\n'
            span_id: 1154
          ) (Token id:Id.Lit_Chars val:'The current patch is empty.\n' span_id:1155) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git am --skip" to skip this patch)\n'
            span_id: 1156
          ) (Token id:Id.Lit_Chars val:'  (use "git am --abort" to restore the original branch)\n' span_id:1157) 
          (Token id:Id.Lit_Chars val:'\n' span_id:1158) (Token id:Id.Lit_Chars val:'nothing to commit (use -u to show untracked files)\n' span_id:1159) 
          (Token id:Id.Lit_Chars val:'EOF\n' span_id:1160) (Token id:Id.Lit_Chars val:'\tgit status --untracked-files=no >actual &&\n' span_id:1161) 
          (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1162)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'status when bisecting' span_id:1170))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1174) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:1175) (Token id:Id.Lit_Chars val:'\tgit checkout -b bisect &&\n' span_id:1176) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_bisect main.txt one &&\n'
            span_id: 1177
          ) (Token id:Id.Lit_Chars val:'\ttest_commit two_bisect main.txt two &&\n' span_id:1178) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit three_bisect main.txt three &&\n'
            span_id: 1179
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git bisect reset" &&\n' span_id:1180) 
          (Token id:Id.Lit_Chars val:'\tgit bisect start &&\n' span_id:1181) (Token id:Id.Lit_Chars val:'\tgit bisect bad &&\n' span_id:1182) 
          (Token id:Id.Lit_Chars val:'\tgit bisect good one_bisect &&\n' span_id:1183) (Token id:Id.Lit_Chars val:'\tTGT=$(git rev-parse --short two_bisect) &&\n' span_id:1184) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:1185) (Token id:Id.Lit_Chars val:'HEAD detached at $TGT\n' span_id:1186) 
          (Token
            id: Id.Lit_Chars
            val: 'You are currently bisecting, started from branch '
            span_id: 1187
          )
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1189)) 
        (SQ (Token id:Id.Lit_Chars val:bisect span_id:1191)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1193)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:1195) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git bisect reset" to get back to the original branch)\n'
            span_id: 1196
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1197) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 1198
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1199) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1200
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1201)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status when rebase conflicts with statushints disabled'
            span_id: 1209
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1213) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:1214) (Token id:Id.Lit_Chars val:'\tgit checkout -b statushints_disabled &&\n' span_id:1215) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git config --local advice.statushints true" &&\n'
            span_id: 1216
          ) (Token id:Id.Lit_Chars val:'\tgit config --local advice.statushints false &&\n' span_id:1217) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_statushints main.txt one &&\n'
            span_id: 1218
          ) (Token id:Id.Lit_Chars val:'\ttest_commit two_statushints main.txt two &&\n' span_id:1219) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit three_statushints main.txt three &&\n'
            span_id: 1220
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git rebase --abort" &&\n' span_id:1221) 
          (Token
            id: Id.Lit_Chars
            val: '\tONTO=$(git rev-parse --short HEAD^^) &&\n'
            span_id: 1222
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase HEAD^ --onto HEAD^^ &&\n' span_id:1223) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:1224) (Token id:Id.Lit_Chars val:'rebase in progress; onto $ONTO\n' span_id:1225) 
          (Token id:Id.Lit_Chars val:'You are currently rebasing branch ' span_id:1226)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1228)) 
        (SQ (Token id:Id.Lit_Chars val:statushints_disabled span_id:1230)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1232)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:1234)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1236)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:1238)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1240)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:1242) 
          (Token id:Id.Lit_Chars val:'\n' span_id:1243) (Token id:Id.Lit_Chars val:'Unmerged paths:\n' span_id:1244) 
          (Token id:Id.Lit_Chars val:'\tboth modified:   main.txt\n' span_id:1245) (Token id:Id.Lit_Chars val:'\n' span_id:1246) 
          (Token id:Id.Lit_Chars val:'no changes added to commit\n' span_id:1247) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1248) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1249
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1250)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'prepare for cherry-pick conflicts' span_id:1258))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1262) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:1263) (Token id:Id.Lit_Chars val:'\tgit checkout -b cherry_branch &&\n' span_id:1264) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_cherry main.txt one &&\n'
            span_id: 1265
          ) (Token id:Id.Lit_Chars val:'\ttest_commit two_cherries main.txt two &&\n' span_id:1266) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit checkout -b cherry_branch_second &&\n'
            span_id: 1267
          ) (Token id:Id.Lit_Chars val:'\ttest_commit second_cherry main.txt second &&\n' span_id:1268) 
          (Token id:Id.Lit_Chars val:'\tgit checkout cherry_branch &&\n' span_id:1269) (Token id:Id.Lit_Chars val:'\ttest_commit three_cherries main.txt three\n' span_id:1270)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status when cherry-picking before resolving conflicts'
            span_id: 1278
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1282) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git cherry-pick --abort" &&\n'
            span_id: 1283
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git cherry-pick cherry_branch_second &&\n' span_id:1284) 
          (Token
            id: Id.Lit_Chars
            val: '\tTO_CHERRY_PICK=$(git rev-parse --short CHERRY_PICK_HEAD) &&\n'
            span_id: 1285
          ) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:1286) 
          (Token id:Id.Lit_Chars val:'On branch cherry_branch\n' span_id:1287) (Token id:Id.Lit_Chars val:'You are currently cherry-picking commit $TO_CHERRY_PICK.\n' span_id:1288) 
          (Token
            id: Id.Lit_Chars
            val: '  (fix conflicts and run "git cherry-pick --continue")\n'
            span_id: 1289
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git cherry-pick --abort" to cancel the cherry-pick operation)\n'
            span_id: 1290
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1291) 
          (Token id:Id.Lit_Chars val:'Unmerged paths:\n' span_id:1292) (Token id:Id.Lit_Chars val:'  (use "git add <file>..." to mark resolution)\n' span_id:1293) 
          (Token id:Id.Lit_Chars val:'\n' span_id:1294) (Token id:Id.Lit_Chars val:'\tboth modified:   main.txt\n' span_id:1295) 
          (Token id:Id.Lit_Chars val:'\n' span_id:1296) 
          (Token
            id: Id.Lit_Chars
            val: 'no changes added to commit (use "git add" and/or "git commit -a")\n'
            span_id: 1297
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1298) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1299
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1300)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status when cherry-picking after resolving conflicts'
            span_id: 1308
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1312) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard cherry_branch &&\n' span_id:1313) (Token id:Id.Lit_Chars val:'\ttest_when_finished "git cherry-pick --abort" &&\n' span_id:1314) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git cherry-pick cherry_branch_second &&\n'
            span_id: 1315
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tTO_CHERRY_PICK=$(git rev-parse --short CHERRY_PICK_HEAD) &&\n'
            span_id: 1316
          ) (Token id:Id.Lit_Chars val:'\techo end >main.txt &&\n' span_id:1317) 
          (Token id:Id.Lit_Chars val:'\tgit add main.txt &&\n' span_id:1318) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:1319) 
          (Token id:Id.Lit_Chars val:'On branch cherry_branch\n' span_id:1320) (Token id:Id.Lit_Chars val:'You are currently cherry-picking commit $TO_CHERRY_PICK.\n' span_id:1321) 
          (Token
            id: Id.Lit_Chars
            val: '  (all conflicts fixed: run "git cherry-pick --continue")\n'
            span_id: 1322
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git cherry-pick --abort" to cancel the cherry-pick operation)\n'
            span_id: 1323
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1324) 
          (Token id:Id.Lit_Chars val:'Changes to be committed:\n' span_id:1325) (Token id:Id.Lit_Chars val:'\n' span_id:1326) 
          (Token id:Id.Lit_Chars val:'\tmodified:   main.txt\n' span_id:1327) (Token id:Id.Lit_Chars val:'\n' span_id:1328) 
          (Token
            id: Id.Lit_Chars
            val: 'Untracked files not listed (use -u option to show untracked files)\n'
            span_id: 1329
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1330) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1331
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1332)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status showing detached at and from a tag' span_id:1339))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1343) 
          (Token id:Id.Lit_Chars val:'\ttest_commit atag tagging &&\n' span_id:1344) (Token id:Id.Lit_Chars val:'\tgit checkout atag &&\n' span_id:1345) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<\\EOF &&\n' span_id:1346) (Token id:Id.Lit_Chars val:'HEAD detached at atag\n' span_id:1347) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 1348
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1349) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1350
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual &&\n' span_id:1351) 
          (Token id:Id.Lit_Chars val:'\n' span_id:1352) (Token id:Id.Lit_Chars val:'\tgit reset --hard HEAD^ &&\n' span_id:1353) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<\\EOF &&\n' span_id:1354) (Token id:Id.Lit_Chars val:'HEAD detached from atag\n' span_id:1355) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 1356
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1357) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1358
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1359)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status while reverting commit (conflicts)' span_id:1366))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1370) 
          (Token id:Id.Lit_Chars val:'\tgit checkout master &&\n' span_id:1371) (Token id:Id.Lit_Chars val:'\techo before >to-revert.txt &&\n' span_id:1372) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit before to-revert.txt &&\n'
            span_id: 1373
          ) (Token id:Id.Lit_Chars val:'\techo old >to-revert.txt &&\n' span_id:1374) 
          (Token id:Id.Lit_Chars val:'\ttest_commit old to-revert.txt &&\n' span_id:1375) (Token id:Id.Lit_Chars val:'\techo new >to-revert.txt &&\n' span_id:1376) 
          (Token id:Id.Lit_Chars val:'\ttest_commit new to-revert.txt &&\n' span_id:1377) (Token id:Id.Lit_Chars val:'\tTO_REVERT=$(git rev-parse --short HEAD^) &&\n' span_id:1378) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git revert $TO_REVERT &&\n'
            span_id: 1379
          ) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:1380) 
          (Token id:Id.Lit_Chars val:'On branch master\n' span_id:1381) (Token id:Id.Lit_Chars val:'You are currently reverting commit $TO_REVERT.\n' span_id:1382) 
          (Token
            id: Id.Lit_Chars
            val: '  (fix conflicts and run "git revert --continue")\n'
            span_id: 1383
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git revert --abort" to cancel the revert operation)\n'
            span_id: 1384
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1385) 
          (Token id:Id.Lit_Chars val:'Unmerged paths:\n' span_id:1386) (Token id:Id.Lit_Chars val:'  (use "git reset HEAD <file>..." to unstage)\n' span_id:1387) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git add <file>..." to mark resolution)\n'
            span_id: 1388
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1389) 
          (Token id:Id.Lit_Chars val:'\tboth modified:   to-revert.txt\n' span_id:1390) (Token id:Id.Lit_Chars val:'\n' span_id:1391) 
          (Token
            id: Id.Lit_Chars
            val: 'no changes added to commit (use "git add" and/or "git commit -a")\n'
            span_id: 1392
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1393) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1394
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1395)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status while reverting commit (conflicts resolved)'
            span_id: 1402
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1406) 
          (Token id:Id.Lit_Chars val:'\techo reverted >to-revert.txt &&\n' span_id:1407) (Token id:Id.Lit_Chars val:'\tgit add to-revert.txt &&\n' span_id:1408) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:1409) (Token id:Id.Lit_Chars val:'On branch master\n' span_id:1410) 
          (Token
            id: Id.Lit_Chars
            val: 'You are currently reverting commit $TO_REVERT.\n'
            span_id: 1411
          ) (Token id:Id.Lit_Chars val:'  (all conflicts fixed: run "git revert --continue")\n' span_id:1412) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git revert --abort" to cancel the revert operation)\n'
            span_id: 1413
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1414) 
          (Token id:Id.Lit_Chars val:'Changes to be committed:\n' span_id:1415) (Token id:Id.Lit_Chars val:'  (use "git reset HEAD <file>..." to unstage)\n' span_id:1416) 
          (Token id:Id.Lit_Chars val:'\n' span_id:1417) (Token id:Id.Lit_Chars val:'\tmodified:   to-revert.txt\n' span_id:1418) 
          (Token id:Id.Lit_Chars val:'\n' span_id:1419) 
          (Token
            id: Id.Lit_Chars
            val: 'Untracked files not listed (use -u option to show untracked files)\n'
            span_id: 1420
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1421) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1422
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1423)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status after reverting commit' span_id:1430))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1434) 
          (Token id:Id.Lit_Chars val:'\tgit revert --continue &&\n' span_id:1435) (Token id:Id.Lit_Chars val:'\tcat >expected <<\\EOF &&\n' span_id:1436) 
          (Token id:Id.Lit_Chars val:'On branch master\n' span_id:1437) (Token id:Id.Lit_Chars val:'nothing to commit (use -u to show untracked files)\n' span_id:1438) 
          (Token id:Id.Lit_Chars val:'EOF\n' span_id:1439) (Token id:Id.Lit_Chars val:'\tgit status --untracked-files=no >actual &&\n' span_id:1440) 
          (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1441)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'prepare for different number of commits rebased'
            span_id: 1448
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1452) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:1453) (Token id:Id.Lit_Chars val:'\tgit checkout -b several_commits &&\n' span_id:1454) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit one_commit main.txt one &&\n'
            span_id: 1455
          ) (Token id:Id.Lit_Chars val:'\ttest_commit two_commit main.txt two &&\n' span_id:1456) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_commit three_commit main.txt three &&\n'
            span_id: 1457
          ) (Token id:Id.Lit_Chars val:'\ttest_commit four_commit main.txt four\n' span_id:1458)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status: one command done nothing remaining' span_id:1465))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1469) 
          (Token id:Id.Lit_Chars val:'\tFAKE_LINES="exec_exit_15" &&\n' span_id:1470) (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:1471) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git rebase --abort" &&\n'
            span_id: 1472
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~3) &&\n' span_id:1473) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git rebase -i HEAD~3 &&\n'
            span_id: 1474
          ) (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:1475) 
          (Token
            id: Id.Lit_Chars
            val: 'interactive rebase in progress; onto $ONTO\n'
            span_id: 1476
          ) (Token id:Id.Lit_Chars val:'Last command done (1 command done):\n' span_id:1477) 
          (Token id:Id.Lit_Chars val:'   exec exit 15\n' span_id:1478) (Token id:Id.Lit_Chars val:'No commands remaining.\n' span_id:1479) 
          (Token
            id: Id.Lit_Chars
            val: 'You are currently editing a commit while rebasing branch '
            span_id: 1480
          )
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1482)) 
        (SQ (Token id:Id.Lit_Chars val:several_commits span_id:1484)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1486)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:1488)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1490)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:1492)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1494)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:1496) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 1497
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 1498
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1499) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 1500
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1501) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1502
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1503)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status: two commands done with some white lines in done file'
            span_id: 1510
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1514) 
          (Token
            id: Id.Lit_Chars
            val: '\tFAKE_LINES="1 > exec_exit_15  2 3" &&\n'
            span_id: 1515
          ) (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:1516) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git rebase --abort" &&\n'
            span_id: 1517
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~3) &&\n' span_id:1518) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT4=$(git rev-parse --short HEAD) &&\n'
            span_id: 1519
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT3=$(git rev-parse --short HEAD^) &&\n' span_id:1520) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short HEAD^^) &&\n'
            span_id: 1521
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase -i HEAD~3 &&\n' span_id:1522) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:1523) (Token id:Id.Lit_Chars val:'interactive rebase in progress; onto $ONTO\n' span_id:1524) 
          (Token
            id: Id.Lit_Chars
            val: 'Last commands done (2 commands done):\n'
            span_id: 1525
          ) (Token id:Id.Lit_Chars val:'   pick $COMMIT2 two_commit\n' span_id:1526) 
          (Token id:Id.Lit_Chars val:'   exec exit 15\n' span_id:1527) (Token id:Id.Lit_Chars val:'Next commands to do (2 remaining commands):\n' span_id:1528) 
          (Token id:Id.Lit_Chars val:'   pick $COMMIT3 three_commit\n' span_id:1529) (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_commit\n' span_id:1530) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --edit-todo" to view and edit)\n'
            span_id: 1531
          ) (Token id:Id.Lit_Chars val:'You are currently editing a commit while rebasing branch ' span_id:1532)
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1534)) 
        (SQ (Token id:Id.Lit_Chars val:several_commits span_id:1536)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1538)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:1540)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1542)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:1544)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1546)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:1548) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 1549
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 1550
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1551) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 1552
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1553) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1554
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1555)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'status: two remaining commands with some white lines in todo file'
            span_id: 1562
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:1566) 
          (Token
            id: Id.Lit_Chars
            val: '\tFAKE_LINES="1 2 exec_exit_15 3 > 4" &&\n'
            span_id: 1567
          ) (Token id:Id.Lit_Chars val:'\texport FAKE_LINES &&\n' span_id:1568) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_when_finished "git rebase --abort" &&\n'
            span_id: 1569
          ) (Token id:Id.Lit_Chars val:'\tONTO=$(git rev-parse --short HEAD~4) &&\n' span_id:1570) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT4=$(git rev-parse --short HEAD) &&\n'
            span_id: 1571
          ) (Token id:Id.Lit_Chars val:'\tCOMMIT3=$(git rev-parse --short HEAD^) &&\n' span_id:1572) 
          (Token
            id: Id.Lit_Chars
            val: '\tCOMMIT2=$(git rev-parse --short HEAD^^) &&\n'
            span_id: 1573
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git rebase -i HEAD~4 &&\n' span_id:1574) 
          (Token id:Id.Lit_Chars val:'\tcat >expected <<EOF &&\n' span_id:1575) (Token id:Id.Lit_Chars val:'interactive rebase in progress; onto $ONTO\n' span_id:1576) 
          (Token
            id: Id.Lit_Chars
            val: 'Last commands done (3 commands done):\n'
            span_id: 1577
          ) (Token id:Id.Lit_Chars val:'   pick $COMMIT2 two_commit\n' span_id:1578) 
          (Token id:Id.Lit_Chars val:'   exec exit 15\n' span_id:1579) (Token id:Id.Lit_Chars val:'  (see more in file .git/rebase-merge/done)\n' span_id:1580) 
          (Token
            id: Id.Lit_Chars
            val: 'Next commands to do (2 remaining commands):\n'
            span_id: 1581
          ) (Token id:Id.Lit_Chars val:'   pick $COMMIT3 three_commit\n' span_id:1582) 
          (Token id:Id.Lit_Chars val:'   pick $COMMIT4 four_commit\n' span_id:1583) (Token id:Id.Lit_Chars val:'  (use "git rebase --edit-todo" to view and edit)\n' span_id:1584) 
          (Token
            id: Id.Lit_Chars
            val: 'You are currently editing a commit while rebasing branch '
            span_id: 1585
          )
        ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1587)) 
        (SQ (Token id:Id.Lit_Chars val:several_commits span_id:1589)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1591)) 
        (SQ (Token id:Id.Lit_Chars val:' on ' span_id:1593)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1595)) 
        (SQ (Token id:Id.Lit_Chars val:'$ONTO' span_id:1597)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1599)) 
        (SQ (Token id:Id.Lit_Chars val:'.\n' span_id:1601) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git commit --amend" to amend the current commit)\n'
            span_id: 1602
          ) 
          (Token
            id: Id.Lit_Chars
            val: '  (use "git rebase --continue" once you are satisfied with your changes)\n'
            span_id: 1603
          ) (Token id:Id.Lit_Chars val:'\n' span_id:1604) 
          (Token
            id: Id.Lit_Chars
            val: 'nothing to commit (use -u to show untracked files)\n'
            span_id: 1605
          ) (Token id:Id.Lit_Chars val:'EOF\n' span_id:1606) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit status --untracked-files=no >actual &&\n'
            span_id: 1607
          ) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp expected actual\n' span_id:1608)
        )
      }
    )
    (C {(test_done)})
  ]
)