(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description spids:[12])
          op: Equal
          rhs: {(SQ <'tests remote-svn'>)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:MARKSPATH spids:[23])
          op: Equal
          rhs: {(.git/info/fast-import/remote-svn)}
          spids: [23]
        )
      ]
      spids: [23]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(command.Pipeline children:[(C {(test_have_prereq)} {(PYTHON)})] negated:T)]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:skip_all spids:[38])
                  op: Equal
                  rhs: {(SQ <'skipping remote-svn tests, python not available'>)}
                  spids: [38]
                )
              ]
              spids: [38]
            )
            (C {(test_done)})
          ]
          spids: [16777215 35]
        )
      ]
      spids: [16777215 46]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:PATH spids:[52])
          op: Equal
          rhs: {(DQ ($ VSub_Name '$HOME') (':') ($ VSub_Name '$PATH'))}
          spids: [52]
        )
      ]
      spids: [52]
    )
    (C {(export)} {(PATH)} {(PYTHON_PATH)} {(GIT_BUILD_DIR)})
    (command.SimpleCommand
      words: [{(write_script)} {(DQ ($ VSub_Name '$HOME') (/svnrdump))}]
      redirects: [
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 80
          stdin_parts: [
            ('exec "$PYTHON_PATH" "$GIT_BUILD_DIR/contrib/svn-fe/svnrdump_sim.py" "$@"\n')
          ]
        )
      ]
    )
    (command.FuncDef
      name: init_git
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (C {(rm)} {(-fr)} {(.git)})
                (C {(git)} {(init)})
                (C {(git)} {(remote)} {(add)} {(svnsim)} 
                  {(testsvn) (Lit_Other ':') (Lit_Other ':') (sim) (Lit_Other ':') (//) 
                    ($ VSub_Name '$TEST_DIRECTORY') (/t9154/svn.dump)
                  }
                )
              ]
            )
            (C {(git)} {(remote)} {(add)} {(svnfile)} 
              {(testsvn) (Lit_Other ':') (Lit_Other ':') (file) (Lit_Other ':') (//) 
                ($ VSub_Name '$TEST_DIRECTORY') (/t9154/svn.dump)
              }
            )
          ]
          spids: [87]
        )
      spids: [82 86]
    )
    (command.If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-e)} {(DQ ($ VSub_Name '$GIT_BUILD_DIR') (/git-remote-testsvn))})]
          action: [(C {(test_set_prereq)} {(REMOTE_SVN)})]
          spids: [16777215 163]
        )
      ]
      spids: [16777215 170]
    )
    (C {(test_debug)} {(SQ <'\n'> <'\tgit --version\n'> <'\ttype git\n'> <'\ttype svnrdump\n'>)})
    (C {(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'>
        )
      }
    )
    (C {(test_debug)} 
      {
        (SQ <'\n'> <'\tcat .git/refs/svn/svnsim/master\n'> <'\tcat .git/refs/remotes/svnsim/master\n'>)
      }
    )
    (C {(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'>
        )
      }
    )
    (C {(test_expect_success)} {(REMOTE_SVN)} {(SQ <'fetch from a file:// url gives the same result'>)} 
      {(SQ <'\n'> <'\tgit fetch svnfile\n'>)}
    )
    (C {(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'>)}
    )
    (C {(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'>
        )
      }
    )
    (C {(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'>
        )
      }
    )
    (C {(test_debug)} {(SQ <'git branch -a'>)})
    (C {(test_done)})
  ]
)