ぼくの職場にはときどき声優さんたちがたくさんやってきて、webラジオの収録を行います。となるとちょっと仕事ができる環境ではなくなるので、別のオフィスに移動してプログラミングしています。そうすると開発サーバ上のリポジトリへのコミット(Subversionを使用しています)ができません。というわけで、svkを使ってみることにしました(いまさらだけど)。

まずはsvkのインストール。

sudo aptitude install svk

svkリポジトリを作る(ホームディレクトリに作られます)。

svk depotmap --init

開発サーバのSubversionリポジトリからsvkリポジトリへのミラーリング。 svkのリポジトリは//で表現します。

svk mirror http://develop/svn //svk

開発サーバのSubversionリポジトリとsvkリポジトリの同期処理

svk sync //svk

svkリポジトリから作業用ブランチを作成する。 開発サーバのSubversionリポジトリと同期している//svkに直接コミットすると、開発サーバのSubversionリポジトリにも自動でコミットされてしまうので、作業用ブランチが必要です。

svk copy //svk //work

作業用ブランチからチェックアウト。

svk co //work devel

これで環境構築は完了です。 svkのコマンドはsvnとほとんど一緒なので、いつものようにプログラミングをして作業用ブランチにコミットしていけばOK。これで、飛行機の中でも開発できちゃいます。

開発サーバのSubversionリポジトリから作業用ブランチへの反映方法は以下のとおり。 まずは同期処理。

svk sync //svk

つづいて作業用ブランチへのマージ。

svk smerge -l //svk //work

マージする前に変更点をチェックしたいときは-Cをつかいます。

svk smerge -C //svk //work

マージが完了したら、あとはアップデートするだけ

svk up

作業用ブランチから開発サーバのSubversionリポジトリへの反映方法は以下のとおり。

svk smerge -l //work //svk

これだけで、開発サーバのSubversionリポジトリへも自動でコミットされます。