(CommandList
  children: [
    (C {(mkdir)} {(temp)})
    (C {(cd)} {(temp)})
    (C {(mkdir)} {(project-orig)})
    (C {(cd)} {(project-orig)})
    (C {(mkdir)} {(trunk)})
    (SimpleCommand
      words: [{(echo)} {(a)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(trunk/a)} spids:[38])]
    )
    (C {(mkdir)} {(trunk/d1)})
    (C {(mkdir)} {(trunk/d2)})
    (SimpleCommand
      words: [{(echo)} {(b)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(trunk/d1/b)} spids:[54])]
    )
    (SimpleCommand
      words: [{(echo)} {(c)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(trunk/d1/c)} spids:[62])]
    )
    (SimpleCommand
      words: [{(echo)} {(d)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(trunk/d2/d)} spids:[70])]
    )
    (C {(cd)} {(..)})
    (C {(svnadmin)} {(create)} {(svn-repo)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:svnurl)
          op: Equal
          rhs: 
            {(file) (Lit_Other ":") (//) 
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_Backtick "`">
                spids: [89 91]
              ) (/svn-repo)
            }
          spids: [85]
        )
      ]
      spids: [85]
    )
    (C {(svn)} {(import)} {(project-orig)} {($ VSub_Name "$svnurl")} {(-m)} {(DQ ("init projA"))})
    (C {(svn)} {(co)} {($ VSub_Name "$svnurl")} {(project)})
    (C {(cd)} {(project)})
    (SimpleCommand
      words: [{(echo)} {(a)}]
      redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(trunk/a)} spids:[131])]
    )
    (SimpleCommand
      words: [{(echo)} {(c)}]
      redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(trunk/d1/c)} spids:[139])]
    )
    (C {(svn)} {(ci)} {(-m)} {(commitbeforemove)})
    (C {(svn)} {(mv)} {($ VSub_Name "$svnurl") (/trunk)} {($ VSub_Name "$svnurl") (/subproject)} {(-m)} 
      {(movedtrunk)}
    )
    (C {(svn)} {(up)})
    (C {(mkdir)} {(subproject/trunk)})
    (C {(svn)} {(add)} {(subproject/trunk)})
    (C {(svn)} {(ci)} {(-m)} {(createtrunk)})
    (C {(mkdir)} {(subproject/branches)})
    (C {(svn)} {(add)} {(subproject/branches)})
    (C {(svn)} {(ci)} {(-m)} {(createbranches)})
    (C {(svn)} {(mv)} {($ VSub_Name "$svnurl") (/subproject/d1)} 
      {($ VSub_Name "$svnurl") (/subproject/trunk/d1)} {(-m)} {(moved1)}
    )
    (C {(svn)} {(mv)} {($ VSub_Name "$svnurl") (/subproject/d2)} 
      {($ VSub_Name "$svnurl") (/subproject/trunk/d2)} {(-m)} {(moved2)}
    )
    (C {(svn)} {(up)})
    (SimpleCommand
      words: [{(echo)} {(b)}]
      redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(subproject/trunk/d1/b)} spids:[241])]
    )
    (C {(svn)} {(rm)} {(subproject/trunk/d2)})
    (C {(svn)} {(ci)} {(-m)} {(DQ ("changeb and rm d2"))})
    (C {(svn)} {(mv)} {($ VSub_Name "$svnurl") (/subproject/trunk/d1)} 
      {($ VSub_Name "$svnurl") (/subproject/branches/d1)} {(-m)} {(moved1again)}
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (Pipeline
                  children: [
                    (C {(svn)} {(help)} {(copy)})
                    (SimpleCommand
                      words: [{(grep)} {(SQ <"SRC\\[@REV\\]">)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [293]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [297]
                        )
                      ]
                    )
                  ]
                  negated: False
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(svn)} {(copy)} {($ VSub_Name "$svnurl") (/subproject/trunk/d2/d) (Lit_Other "@") (7)} 
              {($ VSub_Name "$svnurl") (/subproject/trunk)} {(-m)} {(copyfilefrompast)}
            )
            (C {(svn)} {(copy)} {($ VSub_Name "$svnurl") (/subproject/trunk/d2) (Lit_Other "@") (7)} 
              {($ VSub_Name "$svnurl") (/subproject/trunk)} {(-m)} {(copydirfrompast)}
            )
          ]
          spids: [-1 301]
        )
      ]
      else_action: [
        (C {(svn)} {(copy)} {(-r)} {(7)} {($ VSub_Name "$svnurl") (/subproject/trunk/d2/d)} 
          {($ VSub_Name "$svnurl") (/subproject/trunk)} {(-m)} {(copyfilefrompast)}
        )
        (C {(svn)} {(copy)} {(-r)} {(7)} {($ VSub_Name "$svnurl") (/subproject/trunk/d2)} 
          {($ VSub_Name "$svnurl") (/subproject/trunk)} {(-m)} {(copydirfrompast)}
        )
      ]
      spids: [349 397]
    )
    (C {(svn)} {(up)})
    (C {(mkdir)} {(-p)} {(subproject/trunk/d3/d31)})
    (SimpleCommand
      words: [{(echo)} {(e)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(subproject/trunk/d3/d31/e)} spids:[417])]
    )
    (SimpleCommand
      words: [{(echo)} {(f)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(subproject/trunk/d3/f)} spids:[425])]
    )
    (C {(svn)} {(add)} {(subproject/trunk/d3)})
    (C {(svn)} {(ci)} {(-m)} {(DQ ("add d3"))})
    (C {(svn)} {(copy)} {(subproject/trunk/d3)} {(subproject/trunk/d4)})
    (C {(svn)} {(rm)} {(subproject/trunk/d3/d31)})
    (C {(svn)} {(ci)} {(-m)} {(DQ ("copy dir and remove subdir"))})
    (C {(svn)} {(up)})
    (C {(mkdir)} {(-p)} {(subproject/trunk/d4old)})
    (SimpleCommand
      words: [{(echo)} {(g)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(subproject/trunk/d4old/g)} spids:[487])]
    )
    (C {(svn)} {(add)} {(subproject/trunk/d4old)})
    (C {(svn)} {(ci)} {(-m)} {(DQ ("add d4old"))})
    (C {(svn)} {(mv)} {(subproject/trunk/d4old)} {(subproject/trunk/d4new)})
    (C {(svn)} {(ci)} {(-m)} {(DQ ("rename d4old into d4new"))})
    (C {(cd)} {(..)})
    (SimpleCommand
      words: [{(svnadmin)} {(dump)} {(svn-repo)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(../move.svndump)} spids:[537])]
    )
  ]
)