(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:'i18n settings and format-patch | am pipe' span_id:15))}
          spids: [13]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.ShFunction
      name: check_encoding
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:cnt)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number '$1'))}
                  spids: [36]
                )
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:header)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number '$2'))}
                  spids: [41]
                )
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:i)
                  op: assign_op.Equal
                  rhs: {(1)}
                  spids: [46]
                )
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:j)
                  op: assign_op.Equal
                  rhs: {(0)}
                  spids: [49]
                )
              ]
            )
            (command.WhileUntil
              keyword: (Token id:Id.KW_While val:while span_id:53)
              cond: [
                (C {(test)} {(DQ ($ Id.VSub_DollarName '$i'))} {(-le)} {($ Id.VSub_DollarName '$cnt')})
              ]
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (command.Pipeline
                          children: [
                            (C {(git)} {(format-patch)} {(--encoding) (Id.Lit_Equals '=') (UTF-8)} 
                              {(--stdout)} 
                              {(HEAD) (Id.Lit_TildeLike '~') ($ Id.VSub_DollarName '$i') (..HEAD) 
                                (Id.Lit_TildeLike '~') ($ Id.VSub_DollarName '$j')
                              }
                            )
                            (C {(grep)} {(DQ ('^From: =?UTF-8?q?=C3=81=C3=A9=C3=AD=20=C3=B3=C3=BA?='))})
                          ]
                          negated: F
                        )
                        (command.Pipeline
                          children: [
                            (C {(git)} {(cat-file)} {(commit)} 
                              {(HEAD) (Id.Lit_TildeLike '~') ($ Id.VSub_DollarName '$j')}
                            )
                            (command.Case
                              to_match: {(DQ ($ Id.VSub_DollarName '$header'))}
                              arms: [
                                (case_arm
                                  pat_list: [{(8859)}]
                                  action: [(C {(grep)} {(DQ ('^encoding ISO8859-1'))})]
                                  spids: [120 121 130 -1]
                                )
                                (case_arm
                                  pat_list: [{(Id.Lit_Star '*')}]
                                  action: [
                                    (command.Sentence
                                      child: (C {(grep)} {(DQ ('^encoding ISO8859-1'))})
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:142)
                                    )
                                    (C {(test)} {(DQ ($ Id.VSub_QMark '$?'))} 
                                      {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(0)}
                                    )
                                  ]
                                  spids: [133 134 155 -1]
                                )
                              ]
                            )
                          ]
                          negated: F
                        )
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Return val:return span_id:162)
                          arg_word: {(1)}
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName '$i')}
                          spids: [167]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:i)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Plus
                                    left: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')})
                                    right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)})
                                  )
                              )
                            }
                          spids: [171]
                        )
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:190) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.commitencoding UTF-8 &&\n'
            span_id: 191
          ) (Token id:Id.Lit_Chars val:'\n' span_id:192) 
          (Token
            id: Id.Lit_Chars
            val: '\t# use UTF-8 in author and committer name to match the\n'
            span_id: 193
          ) (Token id:Id.Lit_Chars val:'\t# i18n.commitencoding settings\n' span_id:194) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-utf8.txt &&\n'
            span_id: 195
          ) (Token id:Id.Lit_Chars val:'\n' span_id:196) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:197) (Token id:Id.Lit_Chars val:'\techo "$GIT_AUTHOR_NAME" >mine &&\n' span_id:198) 
          (Token id:Id.Lit_Chars val:'\tgit add mine &&\n' span_id:199) (Token id:Id.Lit_Chars val:'\tgit commit -s -m "Initial commit" &&\n' span_id:200) 
          (Token id:Id.Lit_Chars val:'\n' span_id:201) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:202) 
          (Token id:Id.Lit_Chars val:'\techo Hello world >mine &&\n' span_id:203) (Token id:Id.Lit_Chars val:'\tgit add mine &&\n' span_id:204) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit commit -s -m "Second on main" &&\n'
            span_id: 205
          ) (Token id:Id.Lit_Chars val:'\n' span_id:206) 
          (Token
            id: Id.Lit_Chars
            val: '\t# the first commit on the side branch is UTF-8\n'
            span_id: 207
          ) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:208) 
          (Token id:Id.Lit_Chars val:'\tgit checkout -b side master^ &&\n' span_id:209) (Token id:Id.Lit_Chars val:'\techo Another file >yours &&\n' span_id:210) 
          (Token id:Id.Lit_Chars val:'\tgit add yours &&\n' span_id:211) (Token id:Id.Lit_Chars val:'\tgit commit -s -m "Second on side" &&\n' span_id:212) 
          (Token id:Id.Lit_Chars val:'\n' span_id:213) (Token id:Id.Lit_Chars val:'\tif test_have_prereq !MINGW\n' span_id:214) 
          (Token id:Id.Lit_Chars val:'\tthen\n' span_id:215) (Token id:Id.Lit_Chars val:'\t\t# the second one on the side branch is ISO-8859-1\n' span_id:216) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit config i18n.commitencoding ISO8859-1 &&\n'
            span_id: 217
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\t\t# use author and committer name in ISO-8859-1 to match it.\n'
            span_id: 218
          ) (Token id:Id.Lit_Chars val:'\t\t. "$TEST_DIRECTORY"/t3901-8859-1.txt\n' span_id:219) 
          (Token id:Id.Lit_Chars val:'\tfi &&\n' span_id:220) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:221) 
          (Token id:Id.Lit_Chars val:'\techo Yet another >theirs &&\n' span_id:222) (Token id:Id.Lit_Chars val:'\tgit add theirs &&\n' span_id:223) 
          (Token id:Id.Lit_Chars val:'\tgit commit -s -m "Third on side" &&\n' span_id:224) (Token id:Id.Lit_Chars val:'\n' span_id:225) 
          (Token id:Id.Lit_Chars val:'\t# Back to default\n' span_id:226) (Token id:Id.Lit_Chars val:'\tgit config i18n.commitencoding UTF-8\n' span_id:227)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'format-patch output (ISO-8859-1)' span_id:234))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:238) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.logoutputencoding ISO8859-1 &&\n'
            span_id: 239
          ) (Token id:Id.Lit_Chars val:'\n' span_id:240) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit format-patch --stdout master..HEAD^ >out-l1 &&\n'
            span_id: 241
          ) (Token id:Id.Lit_Chars val:'\tgit format-patch --stdout HEAD^ >out-l2 &&\n' span_id:242) 
          (Token
            id: Id.Lit_Chars
            val: '\tgrep "^Content-Type: text/plain; charset=ISO8859-1" out-l1 &&\n'
            span_id: 243
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tgrep "^From: =?ISO8859-1?q?=C1=E9=ED=20=F3=FA?=" out-l1 &&\n'
            span_id: 244
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tgrep "^Content-Type: text/plain; charset=ISO8859-1" out-l2 &&\n'
            span_id: 245
          ) (Token id:Id.Lit_Chars val:'\tgrep "^From: =?ISO8859-1?q?=C1=E9=ED=20=F3=FA?=" out-l2\n' span_id:246)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'format-patch output (UTF-8)' span_id:253))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:257) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.logoutputencoding UTF-8 &&\n'
            span_id: 258
          ) (Token id:Id.Lit_Chars val:'\n' span_id:259) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit format-patch --stdout master..HEAD^ >out-u1 &&\n'
            span_id: 260
          ) (Token id:Id.Lit_Chars val:'\tgit format-patch --stdout HEAD^ >out-u2 &&\n' span_id:261) 
          (Token
            id: Id.Lit_Chars
            val: '\tgrep "^Content-Type: text/plain; charset=UTF-8" out-u1 &&\n'
            span_id: 262
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tgrep "^From: =?UTF-8?q?=C3=81=C3=A9=C3=AD=20=C3=B3=C3=BA?=" out-u1 &&\n'
            span_id: 263
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tgrep "^Content-Type: text/plain; charset=UTF-8" out-u2 &&\n'
            span_id: 264
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tgrep "^From: =?UTF-8?q?=C3=81=C3=A9=C3=AD=20=C3=B3=C3=BA?=" out-u2\n'
            span_id: 265
          )
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rebase (U/U)' span_id:272))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:276) 
          (Token
            id: Id.Lit_Chars
            val: '\t# We want the result of rebase in UTF-8\n'
            span_id: 277
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.commitencoding UTF-8 &&\n' span_id:278) 
          (Token id:Id.Lit_Chars val:'\n' span_id:279) (Token id:Id.Lit_Chars val:'\t# The test is about logoutputencoding not affecting the\n' span_id:280) 
          (Token
            id: Id.Lit_Chars
            val: '\t# final outcome -- it is used internally to generate the\n'
            span_id: 281
          ) (Token id:Id.Lit_Chars val:'\t# patch and the log.\n' span_id:282) 
          (Token id:Id.Lit_Chars val:'\n' span_id:283) (Token id:Id.Lit_Chars val:'\tgit config i18n.logoutputencoding UTF-8 &&\n' span_id:284) 
          (Token id:Id.Lit_Chars val:'\n' span_id:285) (Token id:Id.Lit_Chars val:'\t# The result will be committed by GIT_COMMITTER_NAME --\n' span_id:286) 
          (Token id:Id.Lit_Chars val:'\t# we want UTF-8 encoded name.\n' span_id:287) (Token id:Id.Lit_Chars val:'\t. "$TEST_DIRECTORY"/t3901-utf8.txt &&\n' span_id:288) 
          (Token id:Id.Lit_Chars val:'\tgit checkout -b test &&\n' span_id:289) (Token id:Id.Lit_Chars val:'\tgit rebase master &&\n' span_id:290) 
          (Token id:Id.Lit_Chars val:'\n' span_id:291) (Token id:Id.Lit_Chars val:'\tcheck_encoding 2\n' span_id:292)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rebase (U/L)' span_id:299))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:303) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.commitencoding UTF-8 &&\n'
            span_id: 304
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.logoutputencoding ISO8859-1 &&\n' span_id:305) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-utf8.txt &&\n'
            span_id: 306
          ) (Token id:Id.Lit_Chars val:'\n' span_id:307) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard side &&\n' span_id:308) (Token id:Id.Lit_Chars val:'\tgit rebase master &&\n' span_id:309) 
          (Token id:Id.Lit_Chars val:'\n' span_id:310) (Token id:Id.Lit_Chars val:'\tcheck_encoding 2\n' span_id:311)
        )
      }
    )
    (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW)} 
      {(SQ (Token id:Id.Lit_Chars val:'rebase (L/L)' span_id:321))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:325) 
          (Token
            id: Id.Lit_Chars
            val: '\t# In this test we want ISO-8859-1 encoded commits as the result\n'
            span_id: 326
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.commitencoding ISO8859-1 &&\n' span_id:327) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.logoutputencoding ISO8859-1 &&\n'
            span_id: 328
          ) (Token id:Id.Lit_Chars val:'\t. "$TEST_DIRECTORY"/t3901-8859-1.txt &&\n' span_id:329) 
          (Token id:Id.Lit_Chars val:'\n' span_id:330) (Token id:Id.Lit_Chars val:'\tgit reset --hard side &&\n' span_id:331) 
          (Token id:Id.Lit_Chars val:'\tgit rebase master &&\n' span_id:332) (Token id:Id.Lit_Chars val:'\n' span_id:333) 
          (Token id:Id.Lit_Chars val:'\tcheck_encoding 2 8859\n' span_id:334)
        )
      }
    )
    (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW)} 
      {(SQ (Token id:Id.Lit_Chars val:'rebase (L/U)' span_id:344))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:348) 
          (Token
            id: Id.Lit_Chars
            val: '\t# This is pathological -- use UTF-8 as intermediate form\n'
            span_id: 349
          ) (Token id:Id.Lit_Chars val:'\t# to get ISO-8859-1 results.\n' span_id:350) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.commitencoding ISO8859-1 &&\n'
            span_id: 351
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.logoutputencoding UTF-8 &&\n' span_id:352) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-8859-1.txt &&\n'
            span_id: 353
          ) (Token id:Id.Lit_Chars val:'\n' span_id:354) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard side &&\n' span_id:355) (Token id:Id.Lit_Chars val:'\tgit rebase master &&\n' span_id:356) 
          (Token id:Id.Lit_Chars val:'\n' span_id:357) (Token id:Id.Lit_Chars val:'\tcheck_encoding 2 8859\n' span_id:358)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'cherry-pick(U/U)' span_id:365))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:369) 
          (Token
            id: Id.Lit_Chars
            val: '\t# Both the commitencoding and logoutputencoding is set to UTF-8.\n'
            span_id: 370
          ) (Token id:Id.Lit_Chars val:'\n' span_id:371) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.commitencoding UTF-8 &&\n'
            span_id: 372
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.logoutputencoding UTF-8 &&\n' span_id:373) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-utf8.txt &&\n'
            span_id: 374
          ) (Token id:Id.Lit_Chars val:'\n' span_id:375) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:376) (Token id:Id.Lit_Chars val:'\tgit cherry-pick side^ &&\n' span_id:377) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick side &&\n' span_id:378) (Token id:Id.Lit_Chars val:'\tgit revert HEAD &&\n' span_id:379) 
          (Token id:Id.Lit_Chars val:'\n' span_id:380) (Token id:Id.Lit_Chars val:'\tcheck_encoding 3\n' span_id:381)
        )
      }
    )
    (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW)} 
      {(SQ (Token id:Id.Lit_Chars val:'cherry-pick(L/L)' span_id:391))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:395) 
          (Token
            id: Id.Lit_Chars
            val: '\t# Both the commitencoding and logoutputencoding is set to ISO-8859-1\n'
            span_id: 396
          ) (Token id:Id.Lit_Chars val:'\n' span_id:397) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.commitencoding ISO8859-1 &&\n'
            span_id: 398
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.logoutputencoding ISO8859-1 &&\n' span_id:399) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-8859-1.txt &&\n'
            span_id: 400
          ) (Token id:Id.Lit_Chars val:'\n' span_id:401) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:402) (Token id:Id.Lit_Chars val:'\tgit cherry-pick side^ &&\n' span_id:403) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick side &&\n' span_id:404) (Token id:Id.Lit_Chars val:'\tgit revert HEAD &&\n' span_id:405) 
          (Token id:Id.Lit_Chars val:'\n' span_id:406) (Token id:Id.Lit_Chars val:'\tcheck_encoding 3 8859\n' span_id:407)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'cherry-pick(U/L)' span_id:414))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:418) 
          (Token
            id: Id.Lit_Chars
            val: '\t# Commitencoding is set to UTF-8 but logoutputencoding is ISO-8859-1\n'
            span_id: 419
          ) (Token id:Id.Lit_Chars val:'\n' span_id:420) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.commitencoding UTF-8 &&\n'
            span_id: 421
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.logoutputencoding ISO8859-1 &&\n' span_id:422) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-utf8.txt &&\n'
            span_id: 423
          ) (Token id:Id.Lit_Chars val:'\n' span_id:424) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:425) (Token id:Id.Lit_Chars val:'\tgit cherry-pick side^ &&\n' span_id:426) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick side &&\n' span_id:427) (Token id:Id.Lit_Chars val:'\tgit revert HEAD &&\n' span_id:428) 
          (Token id:Id.Lit_Chars val:'\n' span_id:429) (Token id:Id.Lit_Chars val:'\tcheck_encoding 3\n' span_id:430)
        )
      }
    )
    (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW)} 
      {(SQ (Token id:Id.Lit_Chars val:'cherry-pick(L/U)' span_id:440))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:444) 
          (Token
            id: Id.Lit_Chars
            val: '\t# Again, the commitencoding is set to ISO-8859-1 but\n'
            span_id: 445
          ) (Token id:Id.Lit_Chars val:'\t# logoutputencoding is set to UTF-8.\n' span_id:446) 
          (Token id:Id.Lit_Chars val:'\n' span_id:447) (Token id:Id.Lit_Chars val:'\tgit config i18n.commitencoding ISO8859-1 &&\n' span_id:448) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.logoutputencoding UTF-8 &&\n'
            span_id: 449
          ) (Token id:Id.Lit_Chars val:'\t. "$TEST_DIRECTORY"/t3901-8859-1.txt &&\n' span_id:450) 
          (Token id:Id.Lit_Chars val:'\n' span_id:451) (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:452) 
          (Token id:Id.Lit_Chars val:'\tgit cherry-pick side^ &&\n' span_id:453) (Token id:Id.Lit_Chars val:'\tgit cherry-pick side &&\n' span_id:454) 
          (Token id:Id.Lit_Chars val:'\tgit revert HEAD &&\n' span_id:455) (Token id:Id.Lit_Chars val:'\n' span_id:456) 
          (Token id:Id.Lit_Chars val:'\tcheck_encoding 3 8859\n' span_id:457)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rebase --merge (U/U)' span_id:464))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:468) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.commitencoding UTF-8 &&\n'
            span_id: 469
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.logoutputencoding UTF-8 &&\n' span_id:470) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-utf8.txt &&\n'
            span_id: 471
          ) (Token id:Id.Lit_Chars val:'\n' span_id:472) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard side &&\n' span_id:473) (Token id:Id.Lit_Chars val:'\tgit rebase --merge master &&\n' span_id:474) 
          (Token id:Id.Lit_Chars val:'\n' span_id:475) (Token id:Id.Lit_Chars val:'\tcheck_encoding 2\n' span_id:476)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rebase --merge (U/L)' span_id:483))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:487) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.commitencoding UTF-8 &&\n'
            span_id: 488
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.logoutputencoding ISO8859-1 &&\n' span_id:489) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-utf8.txt &&\n'
            span_id: 490
          ) (Token id:Id.Lit_Chars val:'\n' span_id:491) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard side &&\n' span_id:492) (Token id:Id.Lit_Chars val:'\tgit rebase --merge master &&\n' span_id:493) 
          (Token id:Id.Lit_Chars val:'\n' span_id:494) (Token id:Id.Lit_Chars val:'\tcheck_encoding 2\n' span_id:495)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rebase --merge (L/L)' span_id:502))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:506) 
          (Token
            id: Id.Lit_Chars
            val: '\t# In this test we want ISO-8859-1 encoded commits as the result\n'
            span_id: 507
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.commitencoding ISO8859-1 &&\n' span_id:508) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.logoutputencoding ISO8859-1 &&\n'
            span_id: 509
          ) (Token id:Id.Lit_Chars val:'\t. "$TEST_DIRECTORY"/t3901-8859-1.txt &&\n' span_id:510) 
          (Token id:Id.Lit_Chars val:'\n' span_id:511) (Token id:Id.Lit_Chars val:'\tgit reset --hard side &&\n' span_id:512) 
          (Token id:Id.Lit_Chars val:'\tgit rebase --merge master &&\n' span_id:513) (Token id:Id.Lit_Chars val:'\n' span_id:514) 
          (Token id:Id.Lit_Chars val:'\tcheck_encoding 2 8859\n' span_id:515)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'rebase --merge (L/U)' span_id:522))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:526) 
          (Token
            id: Id.Lit_Chars
            val: '\t# This is pathological -- use UTF-8 as intermediate form\n'
            span_id: 527
          ) (Token id:Id.Lit_Chars val:'\t# to get ISO-8859-1 results.\n' span_id:528) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit config i18n.commitencoding ISO8859-1 &&\n'
            span_id: 529
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.logoutputencoding UTF-8 &&\n' span_id:530) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-8859-1.txt &&\n'
            span_id: 531
          ) (Token id:Id.Lit_Chars val:'\n' span_id:532) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard side &&\n' span_id:533) (Token id:Id.Lit_Chars val:'\tgit rebase --merge master &&\n' span_id:534) 
          (Token id:Id.Lit_Chars val:'\n' span_id:535) (Token id:Id.Lit_Chars val:'\tcheck_encoding 2 8859\n' span_id:536)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'am (U/U)' span_id:543))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:547) 
          (Token
            id: Id.Lit_Chars
            val: '\t# Apply UTF-8 patches with UTF-8 commitencoding\n'
            span_id: 548
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.commitencoding UTF-8 &&\n' span_id:549) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-utf8.txt &&\n'
            span_id: 550
          ) (Token id:Id.Lit_Chars val:'\n' span_id:551) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:552) (Token id:Id.Lit_Chars val:'\tgit am out-u1 out-u2 &&\n' span_id:553) 
          (Token id:Id.Lit_Chars val:'\n' span_id:554) (Token id:Id.Lit_Chars val:'\tcheck_encoding 2\n' span_id:555)
        )
      }
    )
    (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW)} 
      {(SQ (Token id:Id.Lit_Chars val:'am (L/L)' span_id:565))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:569) 
          (Token
            id: Id.Lit_Chars
            val: '\t# Apply ISO-8859-1 patches with ISO-8859-1 commitencoding\n'
            span_id: 570
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.commitencoding ISO8859-1 &&\n' span_id:571) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-8859-1.txt &&\n'
            span_id: 572
          ) (Token id:Id.Lit_Chars val:'\n' span_id:573) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:574) (Token id:Id.Lit_Chars val:'\tgit am out-l1 out-l2 &&\n' span_id:575) 
          (Token id:Id.Lit_Chars val:'\n' span_id:576) (Token id:Id.Lit_Chars val:'\tcheck_encoding 2 8859\n' span_id:577)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'am (U/L)' span_id:584))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:588) 
          (Token
            id: Id.Lit_Chars
            val: '\t# Apply ISO-8859-1 patches with UTF-8 commitencoding\n'
            span_id: 589
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.commitencoding UTF-8 &&\n' span_id:590) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-utf8.txt &&\n'
            span_id: 591
          ) (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:592) 
          (Token id:Id.Lit_Chars val:'\n' span_id:593) (Token id:Id.Lit_Chars val:'\t# am specifies --utf8 by default.\n' span_id:594) 
          (Token id:Id.Lit_Chars val:'\tgit am out-l1 out-l2 &&\n' span_id:595) (Token id:Id.Lit_Chars val:'\n' span_id:596) 
          (Token id:Id.Lit_Chars val:'\tcheck_encoding 2\n' span_id:597)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'am --no-utf8 (U/L)' span_id:604))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:608) 
          (Token
            id: Id.Lit_Chars
            val: '\t# Apply ISO-8859-1 patches with UTF-8 commitencoding\n'
            span_id: 609
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.commitencoding UTF-8 &&\n' span_id:610) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-utf8.txt &&\n'
            span_id: 611
          ) (Token id:Id.Lit_Chars val:'\n' span_id:612) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:613) (Token id:Id.Lit_Chars val:'\tgit am --no-utf8 out-l1 out-l2 2>err &&\n' span_id:614) 
          (Token id:Id.Lit_Chars val:'\n' span_id:615) 
          (Token
            id: Id.Lit_Chars
            val: '\t# commit-tree will warn that the commit message does not contain valid UTF-8\n'
            span_id: 616
          ) (Token id:Id.Lit_Chars val:'\t# as mailinfo did not convert it\n' span_id:617) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_i18ngrep "did not conform" err &&\n'
            span_id: 618
          ) (Token id:Id.Lit_Chars val:'\n' span_id:619) 
          (Token id:Id.Lit_Chars val:'\tcheck_encoding 2\n' span_id:620)
        )
      }
    )
    (C {(test_expect_success)} {(Id.KW_Bang '!') (MINGW)} 
      {(SQ (Token id:Id.Lit_Chars val:'am (L/U)' span_id:630))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:634) 
          (Token
            id: Id.Lit_Chars
            val: '\t# Apply UTF-8 patches with ISO-8859-1 commitencoding\n'
            span_id: 635
          ) (Token id:Id.Lit_Chars val:'\tgit config i18n.commitencoding ISO8859-1 &&\n' span_id:636) 
          (Token
            id: Id.Lit_Chars
            val: '\t. "$TEST_DIRECTORY"/t3901-8859-1.txt &&\n'
            span_id: 637
          ) (Token id:Id.Lit_Chars val:'\n' span_id:638) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard master &&\n' span_id:639) 
          (Token
            id: Id.Lit_Chars
            val: '\t# mailinfo will re-code the commit message to the charset specified by\n'
            span_id: 640
          ) (Token id:Id.Lit_Chars val:'\t# i18n.commitencoding\n' span_id:641) 
          (Token id:Id.Lit_Chars val:'\tgit am out-u1 out-u2 &&\n' span_id:642) (Token id:Id.Lit_Chars val:'\n' span_id:643) 
          (Token id:Id.Lit_Chars val:'\tcheck_encoding 2 8859\n' span_id:644)
        )
      }
    )
    (C {(test_done)})
  ]
)