Sep 13, 2006

svk

Subversion や CVS レポジトリのミラーをローカルに持つことで、ネットワークから切り離された状態でもローカルな環境でリビジョン管理ができるようにするツール、に関する覚え書き。

まず svk を win32 な環境にインストール。
SVKWin32にあるリンク先に最新版 1.08 があるので、それをインストール。

次に環境変数の設定。デフォルトでは自分のホームディレクトリに .svk というディレクトリを作成して、その下にミラーレポジトリを格納する。通常 C:\Documents and Settings\user 以下にぶちまけることになる。または SVKROOT という環境変数が設定されていればそこにぶちまける。普段自分の場合 E: がデータなどの置き場になってるので、SVKROOT=E:\work\SVK と設定した。

それではいよいよ、ミラーの作成。下記の例は nucleuscms 本家の subversion レポジトリのミラーを作成する場合。

svk mirror //mirror/nucleuscms https://svn.sourceforge.net/svnroot/nucleuscms

この時点ではまだコピーはされない。実際にコピーする場合は

svk sync //mirror/nucleuscms

とする。ただし上記のようにオプション無しだと全部の履歴をとってくるので時間がかかる場合があるので、最新版のみでいいなら --skipto HEAD オプションを付けて実行。でも最新版だけじゃ意味ないんだよね...

実際このミラーに対してコミットするんではなく、さらにローカルレポジトリを作って、それ経由で本体にコミットする。もちろん本体へのコミット権がないとダメだけど。ローカルレポジトリは下記の通り作成。

svk cp -p //mirror/nucleuscms /nucleuscms

ミラーレポジトリは //mirror 以下に。ローカルレポジトリは /nucleuscms と直下に置く。いやべつに /local/nucleuscms ってやってもいいが、このローカルレポジトリは後でよく使うので、わざわざ階層深くすることもないかなと思う。

さて、今度はローカルレポジトリから実際に作業用としてチェックアウトする。svk コマンドでチェックアウトしてもいいんだが、普段 TortoiseSVN 使ってるのでこちらで。適当なディレクトリに移動して、右クリック。”svn checkout...”を選択。URL に file:///E:/work/SVK/local/nucleuscms と入力して OK を押すと、現在のディレクトリにチェックアウトされる。直接サーバーからチェックアウトしたのと同じ。あとはいろいろ作業をして、いつも通りコミットする。ただこのままではローカルレポジトリまでしか反映されないので、下記の通りミラー経由でサーバーまで反映させる。

svk sync //mirror/nucleuscms (サーバーから最新版をミラーに持ってくる)
svk smerge -C //nucleuscms //mirror/nucleuscms
svk smerge -l //nucleuscms //mirror/nucleuscms

2番目のコマンドは単に比較するだけ。最後のコマンドを実行することで、ミラー経由でサーバーにコミットを完了する。このときコンフリクトがあれば、それを解消してから再度コミットをやりなおす。smerge には --verbatim というオプションがあって、これを設定すると、全部の変更を一つにまとめてコミットする。

CVS からのミラーもできるが、VCP というパッケージが別途必要でまだ試せてないので、また後日改めて。

【参考ページ】
SVK Tutorials


Related Info.

    No related items.

Comments

No comments yet

Add Comments

※下記の単語・フレーズはコメントで使用できません。大文字・小文字は同一視します。
poker, backgammon, tramadol, casino, insurance, loans

OpenID を使ってログインすることができます。

Identity URL:

Trackbacks

トラックバック
hideharaの日記
[Tools][Windows] SVK Win32 を試してみた: 新幹線の中でも、バージョン管理をしたいと思い SVK のWindows版を試す。 http://home.comcast.net/~klight/svk/ インストールする パッケージ:svk-1.08-svn-1.4.2.exe InstDir:C:¥Program Files¥svk¥win32 Perlで実装してあるようで、Perl.exeも同じフォルダに入りました
2007/03/07 21:09
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。 もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。.
visitor stats