どうも。
こんばんは。
先日backlogで管理してたものを別環境に移そうと頑張ってみたので、そのときの手順を残しておこうと思います。
Windowsでsvnsyncする
backlogから直接dumpを取ることは出来ないので、一旦svnsyncというコマンドでローカルに移してきてそこからdumpを吐いて移植先に持っていく流れです。
前提としてローカルにTortoiseSVNといったクライアントツールがインストールされているものとします。
なお、デフォルト設定だとTortoiseSVNのインストール時にコマンドラインがインストールされないようになっているので、使えなかった場合は再インストールしてください。
(1)svnsyncを行うためのリポジトリを作成します。例ではC直下に作成します。お好きに変えてください。
cd c:
mkdir svntemp
svnadmin create svntemp
(2)svnsyncに必要なpre-revprop-changeをhookテンプレートからコピーします。拡張子をbatにしているのはWindowsだとそうする必要があるからです。
copy c:\svntemp\hooks\pre-revprop-change.tmpl c:\svntemp\hooks\pre-revprop-change.bat
(3)pre-revprop-change.batを編集します。
開くとこんな感じになっているのですが、一番下のexit 1をexit 0に変えます。それだけでもいけるかもしれませんが、他サイトを参考にして書く位置も変えました。
変えた後がこちらです。これで上手くいったので、とりあえず合わせてもらえばいいかと思います。
(4)svnsyncします。
svnsync init file:///svntemp https://backlogのURL
svnsync sync file:///svntemp
これで始まります。通信環境やデータ量にも左右されますがこれが結構時間かかります。
2000リビジョンくらいあったんですが、それで4時間くらいかかりました。
なので、コマンド投げてPC放ったらかしで帰っちゃうのをおすすめします。
途中で途切れた場合は、そこから再開するコマンドもあるみたいですが、それは探してみてください。
(5)ローカルからdumpを取得する。
dumpを取得するフォルダを作成してそこにdumpを吐きます。
cd c:
mkdir svndump
svnadmin dump C:/svntemp > C:\svndump\backlogrepo.dump
以上です。
後は、dumpファイルを取り込んでください。
以前記事にしたVisualSVNServerならdumpから作成する機能を持っているので楽ちんです。
ではでは。