CVSからSubversionへの移行

ずっとやろうと思っていたSubversionへの移行をした。
以前cvs2svnを使ったときは"svnadmin: ストリーム中の記録形式を認識できません"というエラーが出てうまくいかなかった*1のだが、cvs2svnの最新バージョン(ver 1.3.0)を取ってきたらコマンド一発でできた。コマンドは以下の通り。

cvs2svn --encoding=euc-jp -s ~/svnrepos ~/cvsroot

ただ、これだと少し問題があって~/cvsrootに複数のプロジェクトがあるとき、

~/cvsroot
  /-a
  /-b

こうなってしまう:

~/svnrepos
  /-branches
    /-branch-1-of-a
    /-branch-1-of-b
  /-tags
    /-tag-1-of-a
    /-tag-2-of-a
    /-tag-1-of-b
  /-trunk
    /-a
    /-b

本当はこうなって欲しい:

~/svnrepos
  /-a
    /-branches
      /-branch-1-of-a
    /-tags
      /-tag-1-of-a
      /-tag-2-of-a
    /-trunk
  /-b
    /-branches
      /-branch-1-of-b
    /-tags
      /-tag-1-of-b
    /-trunk

オプションで何とかなるかと思って調べたけどよく分からなかったので、Subversion移行後にsvn moveでちまちまと直した。もっと良いやり方はないのかな?

*1:このときのバージョンは、cvs2svn: 1.2.0; Subversion: 1.2.3