以下は、ここまでに設定した svn の便利な機能を紹介する。 最低限の設定および必要なコマンドについては CVS の使い方 − 最低限編を参照のこと。
CVSと同じようにキーワードを置換することができる。
$ svn propset:keywords "Date Revision" hoge.txt
のように明示的に指定すると$Date$,$Revision$などが使用できる。 ただし、Subvedrsionではキーワード置換は推奨されない機能とされている。
自分が変更したものと cvs に登録されている最新版とを 比較する場合は、以下のように diff オプションを用いる。 例えば、check.pl の変更を調べる場合は以下のようにする。
$ svn diff check.pl
check.pl に関して、過去のバージョン 1.2 と 1.5 の変更点を 比較する場合には以下のようにする。
$ svn diff -r1.2 -r1.5 check.pl
今までの開発の履歴を見るには log オプションを用いる。 ここで表示されるメッセージは commit 時の際に開発者が -m オプションで書き込んだメッセージである。
$ svn log check.pl
開発が一段落したら、タグをつけて現在の開発状況のスナップショットを とっておくと後々便利だろう。
タグをつけるにはプロジェクト (モジュール) のトップディレクトリに移動し、 以下のようにコマンドする。
$ svn copy Release-4_1-2003_10_16 ↑ タグ名 (ここでは, <バージョン名>-<日付>としている)
svnではタグをつけるのはコピーとして実現されています。レポジトリ内は シンボリックリンクのようなイメージで管理されているので、ディスクスペースは 気にしなくてもよい。
どのようなタグがつけられているかは、
$ svn log
で調べることができる。 history関係のコマンドはすべてlogに集約された。
作業用コピーを作成するのではなく、完成したソフトウェアとして リポジトリ内からプログラム群を取り出す場合、export オプションを用いる。 (この場合には、各ディレクトリに CVS ディレクトリが作成されない)。 ただし、export する際には「タグ」か「日付」を指定する必要がある。
ここで gt4f90io というプロジェクト (モジュール) をタグで指定して取得する。
$ svn export -r Release-_1-2003_10_16 gt4f90io
また、日付で指定する場合には以下のような方法がある。
$ svn export -D "2003-11-11" gt4f90io $ svn export -D "4 days ago" gt4f90io
なお、最新版を取得したいのなら、「明日」の日付で export を行うと良いだろう。