名前

svnversion — 作業コピーにある、ローカルリビジョンについてのまとめを表示します。

書式

svnversion [OPTIONS] [WC_PATH [TRAIL_URL]]

説明

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
エクスポートされたものです