svnversion — 作業コピーにある、ローカルリビジョンについてのまとめを表示します。
svnversion は、作業コピーの混合リビジョン状況を表示するプログラムです。リビジョン番号またはリビジョン範囲を標準出力に書き出します。
ビルドプロセス中で、プログラムのバージョン番号を定義する際、この出力を使用するのが一般的です。
TRAIL_URL
を指定した場合、WC_PATH
自身が切り替えられた場合の URL の終わりの部分として利用します。(WC_PATH
内部での切り替えの検出は TRAIL_URL
にはよりません)。
WC_PATH
を定義していない場合、作業コピーのパスとしてカレントディレクトリを使用します。WC_PATH
を明示的に与えておかないと、TRAIL_URL
を定義できません。
svnserve と同様に、svnversion にサブコマンドはありません。オプションがあるだけです。
--no-newline
(-n
)出力の末尾のいつもの改行文字を省略します。
--committed
(-c
)現在の (つまりローカルで一番新しい) リビジョンではなく、最終更新リビジョンを使用します。
--help
(-h
)ヘルプの概要を表示します。
--version
svnversion のバージョンを表示して正常終了します。
作業コピーが完全に同一リビジョンである場合 (たとえば update の直後など)、リビジョンを以下のように表示します。
$ svnversion 4168
想定する作業コピーから切り替えられていないことを保証するため、TRAIL_URL
を追加できます。このコマンドには WC_PATH
が必要なことに注意してください。
$ svnversion . /repos/svn/trunk 4168
混合リビジョンの作業コピーの場合には、以下のようにリビジョン範囲を表示します。
$ svnversion 4123:4168
作業コピーに修正がある場合には、後ろに "M" を追加して表示します。
$ svnversion 4168M
作業コピーが切り替えられた場合、"S" を追加して表示します。
$ svnversion 4168S
以上により、混合リビジョンであり、作業コピーは切り替えられていて、さらにローカルな修正があった場合には以下のようになります。
$ svnversion 4212:4168MS
作業コピーではないディレクトリで実行すると、svnversion はそれがエクスポートされた作業コピーだとみなし "exported" (エクスポートされたものです) と表示します。
$ svnversion エクスポートされたものです