(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'test_description='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'test_description='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'tests remote-svn'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MARKSPATH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MARKSPATH='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MARKSPATH='> name:MARKSPATH)
          op: assign_op.Equal
          rhs: {<'.git/info/fast-import/remote-svn'>}
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Pipeline
                  negated: <Id.KW_Bang '!'>
                  children: [
                    (command.Simple
                      blame_tok: <test_have_prereq>
                      more_env: []
                      words: [{<test_have_prereq>} {<PYTHON>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  ops: []
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'skip_all='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'skip_all='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'skip_all='> name:skip_all)
                  op: assign_op.Equal
                  rhs: {(SQ <'skipping remote-svn tests, python not available'>)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <test_done>
              more_env: []
              words: [{<test_done>}]
              redirects: []
              do_fork: T
            )
          ]
          spids: [19 27]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'PATH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'PATH='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName HOME) <':'> ($ Id.VSub_DollarName PATH))}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <export>
      more_env: []
      words: [{<export>} {<PATH>} {<PYTHON_PATH>} {<GIT_BUILD_DIR>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <write_script>
      more_env: []
      words: [{<write_script>} {(DQ ($ Id.VSub_DollarName HOME) <'/svnrdump'>)}]
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'> ch:E) <OF>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'exec "$PYTHON_PATH" "$GIT_BUILD_DIR/contrib/svn-fe/svnrdump_sim.py" "$@"\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (command.ShFunction
      name_tok: <init_git>
      name: init_git
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <rm>
                  more_env: []
                  words: [{<rm>} {<-fr>} {<.git>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <git>
                  more_env: []
                  words: [{<git>} {<init>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <git>
                  more_env: []
                  words: [
                    {<git>}
                    {<remote>}
                    {<add>}
                    {<svnsim>}
                    {<testsvn> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <sim> <Id.Lit_Colon ':'> <'//'> 
                      ($ Id.VSub_DollarName TEST_DIRECTORY) <'/t9154/svn.dump'>
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>]
            )
            (command.Simple
              blame_tok: <git>
              more_env: []
              words: [
                {<git>}
                {<remote>}
                {<add>}
                {<svnfile>}
                {<testsvn> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <file> <Id.Lit_Colon ':'> <'//'> 
                  ($ Id.VSub_DollarName TEST_DIRECTORY) <'/t9154/svn.dump'>
                }
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [
                    {<test>}
                    {<-e>}
                    {(DQ ($ Id.VSub_DollarName GIT_BUILD_DIR) <'/git-remote-testsvn'>)}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <test_set_prereq>
              more_env: []
              words: [{<test_set_prereq>} {<REMOTE_SVN>}]
              redirects: []
              do_fork: T
            )
          ]
          spids: [144 155]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'\n'> <'\tgit --version\n'> <'\ttype git\n'> <'\ttype svnrdump\n'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {<REMOTE_SVN>}
        {(SQ <'simple fetch'>)}
        {
          (SQ <'\n'> <'\tinit_git &&\n'> <'\tgit fetch svnsim &&\n'> 
            <'\ttest_cmp .git/refs/svn/svnsim/master .git/refs/remotes/svnsim/master  &&\n'> <'\tcp .git/refs/remotes/svnsim/master master.good\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [
        {<test_debug>}
        {
          (SQ <'\n'> <'\tcat .git/refs/svn/svnsim/master\n'> 
            <'\tcat .git/refs/remotes/svnsim/master\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {<REMOTE_SVN>}
        {(SQ <'repeated fetch, nothing shall change'>)}
        {
          (SQ <'\n'> <'\tgit fetch svnsim &&\n'> 
            <'\ttest_cmp master.good .git/refs/remotes/svnsim/master\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {<REMOTE_SVN>}
        {(SQ <'fetch from a file:// url gives the same result'>)}
        {(SQ <'\n'> <'\tgit fetch svnfile\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_failure>
      more_env: []
      words: [
        {<test_expect_failure>}
        {<REMOTE_SVN>}
        {(SQ <'the sha1 differ because the git-svn-id line in the commit msg contains the url'>)}
        {
          (SQ <'\n'> <'\ttest_cmp .git/refs/remotes/svnfile/master .git/refs/remotes/svnsim/master\n'>)
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {<REMOTE_SVN>}
        {(SQ <'mark-file regeneration'>)}
        {
          (SQ <'\n'> 
            <
'\t# filter out any other marks, that can not be regenerated. Only up to 3 digit revisions are allowed here\n'
            > <'\tgrep ":[0-9]\\{1,3\\} " $MARKSPATH/svnsim.marks > $MARKSPATH/svnsim.marks.old &&\n'> 
            <'\trm $MARKSPATH/svnsim.marks &&\n'> <'\tgit fetch svnsim &&\n'> <'\ttest_cmp $MARKSPATH/svnsim.marks.old $MARKSPATH/svnsim.marks\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {<REMOTE_SVN>}
        {(SQ <'incremental imports must lead to the same head'>)}
        {
          (SQ <'\n'> <'\tSVNRMAX=3 &&\n'> <'\texport SVNRMAX &&\n'> <'\tinit_git &&\n'> 
            <'\tgit fetch svnsim &&\n'> <'\ttest_cmp .git/refs/svn/svnsim/master .git/refs/remotes/svnsim/master  &&\n'> 
            <'\tunset SVNRMAX &&\n'> <'\tgit fetch svnsim &&\n'> <'\ttest_cmp master.good .git/refs/remotes/svnsim/master\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_debug>
      more_env: []
      words: [{<test_debug>} {(SQ <'git branch -a'>)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)