(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 svn refuses to dcommit non-UTF8 messages'
                  span_id: 12
                )
              )
            }
          spids: [10]
        )
      ]
    )
    (C {(.)} {(./lib-git-svn.sh)})
    (command.ForEach
      iter_name: H
      iter_words: [{(ISO8859-1)} {(eucJP)}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {(test_expect_success)} {(DQ ($ Id.VSub_DollarName '$H') (' setup'))} 
              {
                (SQ (Token id:Id.Lit_Chars val:'\n' span_id:46) 
                  (Token id:Id.Lit_Chars val:'\t\tmkdir $H &&\n' span_id:47) (Token id:Id.Lit_Chars val:'\t\tsvn_cmd import -m "$H test" $H "$svnrepo"/$H &&\n' span_id:48) 
                  (Token
                    id: Id.Lit_Chars
                    val: '\t\tgit svn clone "$svnrepo"/$H $H\n'
                    span_id: 49
                  ) (Token id:Id.Lit_Chars val:'\t' span_id:50)
                )
              }
            )
          ]
        )
    )
    (command.ForEach
      iter_name: H
      iter_words: [{(ISO8859-1)} {(eucJP)}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {(test_expect_success)} {(DQ ($ Id.VSub_DollarName '$H') (' commit on git side'))} 
              {
                (SQ (Token id:Id.Lit_Chars val:'\n' span_id:77) 
                  (Token id:Id.Lit_Chars val:'\t(\n' span_id:78) (Token id:Id.Lit_Chars val:'\t\tcd $H &&\n' span_id:79) 
                  (Token
                    id: Id.Lit_Chars
                    val: '\t\tgit config i18n.commitencoding $H &&\n'
                    span_id: 80
                  ) (Token id:Id.Lit_Chars val:'\t\tgit checkout -b t refs/remotes/git-svn &&\n' span_id:81) 
                  (Token id:Id.Lit_Chars val:'\t\techo $H >F &&\n' span_id:82) (Token id:Id.Lit_Chars val:'\t\tgit add F &&\n' span_id:83) 
                  (Token
                    id: Id.Lit_Chars
                    val: '\t\tgit commit -a -F "$TEST_DIRECTORY"/t3900/$H.txt &&\n'
                    span_id: 84
                  ) 
                  (Token
                    id: Id.Lit_Chars
                    val: '\t\tE=$(git cat-file commit HEAD | sed -ne "s/^encoding //p") &&\n'
                    span_id: 85
                  ) (Token id:Id.Lit_Chars val:'\t\ttest "z$E" = "z$H"\n' span_id:86) 
                  (Token id:Id.Lit_Chars val:'\t)\n' span_id:87) (Token id:Id.Lit_Chars val:'\t' span_id:88)
                )
              }
            )
          ]
        )
    )
    (command.ForEach
      iter_name: H
      iter_words: [{(ISO8859-1)} {(eucJP)}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {(test_expect_success)} {(DQ ($ Id.VSub_DollarName '$H') (' dcommit to svn'))} 
              {
                (SQ (Token id:Id.Lit_Chars val:'\n' span_id:115) 
                  (Token id:Id.Lit_Chars val:'\t(\n' span_id:116) (Token id:Id.Lit_Chars val:'\t\tcd $H &&\n' span_id:117) 
                  (Token
                    id: Id.Lit_Chars
                    val: '\t\tgit config --unset i18n.commitencoding &&\n'
                    span_id: 118
                  ) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git svn dcommit\n' span_id:119) 
                  (Token id:Id.Lit_Chars val:'\t)\n' span_id:120) (Token id:Id.Lit_Chars val:'\t' span_id:121)
                )
              }
            )
          ]
        )
    )
    (C {(test_done)})
  ]
)