
うちのsvnリポジトリは、trac等で公開をする前までは、各コンポーネント毎にリポジトリを作るという非効率な管理をしていました。
そろそろ嫌になって来たので、これを全部公開用にまとめようと思い、helpみながら頑張りました。
要件的には、リビジョン番号が変わっても良いから、とにかくlogを含めてインポートしたい!
という感じです。
最初はsvkとか使わなきゃだめなのかなぁ、とか思ってたのですがsvnadminだけで願いが叶いました。
dumpとloadを使います。
loadする時はオプション無しでloadしてしまうと、dump前のファイルパスにデータをぶっ込んでくれちゃうので、trunkとかが混ざってカオスになっちゃいました。
そこで--parent-dirオプションを使って、どのパスにloadするかを明示的に指定してloadします。
--parent-dirで指定するパスは、読み込ませる側のリポジトリ内に予めmkdirしておく必要が有ります。
/svn/Acme-Monta のリポジトリを /svn/public_repos に入れたい場合は
$ svn mkdir -m 'create import dir' file:///svn/public_repos/Acme-Montaのように作業します。
$ svnadmin dump /svn/Acme-Monta | svnadmin load --parent-dir Acme-Monta
これで、作業環境がすっきりしました^^
あとはsvkを本格的につかいまする。
それsvnadminでできるよ
それsvn