Subversion+svkでらくらく分散リポジトリ

第3回 SVKとSubversion

この記事を読むのに必要な時間:およそ 4 分

SVKを使ってみよう

まずは,SVKを使ってみましょう。操作はすべてWindowsで行なっていますが,MacOSXやLinuxではパスのセパレータが違うだけで,基本操作は全く同じです。今回の作業はCドライブの下にtmpディレクトリを作成して,そのディレクトリで行ないます。

リポジトリの準備

最初に,次のコマンドを入力して,SVK用のリポジトリを作成します。ホームディレクトリにリポジトリ.svk/localを作成するか聞かれます。⁠y」をタイプしてからリターンキーを押してください。

> svk depotmap --init
Repository C:\Documents and Settings\Administrator\.svk\local does not exist, create? (y/n)y
>

コマンドの操作で分らないことがあれば,次のコマンドでヘルプを表示できます。ただし,英語ですが…(^_^);

> svk help

リポジトリの準備ができたので,次のコマンドを実行して,リポジトリをc:\tmp\myprojにチェックアウトします。ほとんどの操作方法は,Subversionとほぼ同じです。SVKのリポジトリ表記は「//」で始まります。

C:\> cd c:\tmp
C:\tmp> svk checkout // myproj
Syncing //(/) in C:\tmp\myproj to 0.
C:\tmp\>

ファイルの追加とコミット

次にファイル,ディレクトリの追加とコミットを行なってみます。エクスプローラからc:\tmp\myprojディレクトリにtestディレクトリを作成します。そのディレクトリにReadMe.txtを次の内容で作成します。

This is test repository.

次のコマンドでSVKのリポジトリに追加予告します。addコマンドでディレクトリを指定すると,そのディレクトリ配下のすべてのファイルが追加予告されるので注意してください。addコマンドで追加予告しますが,実際にSVKのリポジトリに変更が反映されるのはcommitコマンドを実行したときです。この仕組みはSubversionと同じです。

C:\tmp\myproj>svk add test
A   test
A   test\ReadMe.txt
C:\tmp\myproj>

リポジトリに追加後,次のコマンドを実行して,SVKのリポジトリに変更を反映(コミット)します。Windowsではメモ帳が立ち上がります。メモ帳の最初の行にコミットのログメッセージを入力図2して保存,終了します。何も入力せずに保存すると,キャンセル(Abort)するか,継続(Commit)するか,ログメッセージを編集するか聞かれます。その場合は「C」をタイプしてからリターンキーを押し,コミットしてください。

図2 メモ帳へのログ入力画面

図2 メモ帳へのログ入力画面

C:\tmp\myproj>svk commit
Waiting for editor...
Committed revision 1.
C:\tmp\myproj>

差分表示

c:\tmp\myproj\test\ReadMe.txtに変更を加えて差分表示してみます。まずは,ファイルを次のように変更します。

This is test repository.
Is it working?

次のコマンドを実行して,SVKのリポジトリと作業コピーの差分を表示します。

C:\tmp\myproj>svk diff test\ReadMe.txt
=== test\ReadMe.txt
==================================================================
--- test\ReadMe.txt     (revision 1)
+++ test\ReadMe.txt     (local)
@@ -1 +1,2 @@
 This is test repository.
+Is it working?

変更を確認して間違いがなければ,コミットします。

C:\tmp\myproj>svk commit
Waiting for editor...
Committed revision 2.
C:\tmp\myproj>

変更分がリビジョン番号2で保存されたことが分ります。次のコマンドを実行してリビジョン1と2の差分を表示します。

C:\tmp\myproj>svk diff -r 1:2 test\ReadMe.txt
=== test\ReadMe.txt
==================================================================
--- test\ReadMe.txt     (revision 1)
+++ test\ReadMe.txt     (revision 2)
@@ -1 +1,2 @@
 This is test repository.
+Is it working?
C:\tmp\myproj>

ここまでの操作で,Subversionのコマンドラインからの操作とほとんど同じであることが分ると思います。

著者プロフィール

大谷弘喜(おおたにひろき)

アリエルネットワーク株式会社所属。P2PアプリケーションやWebアプリケーションの設計,開発。Python大好き。