SubWCRev は、Subversion の作業コピーの状態を読み取り、オプションでテンプレートファイルのキーワード置換を行うのに使用する、Windows コンソールアプリケーションです。ビルドプロセスの一部として、ビルドするものに作業コピーの情報を組み込むのにしばしば使用します。典型的なのは、「About」 ボックスにリビジョン番号を含めるのに使用することでしょう。
SubWCRevは、デフォルトで作業コピーの外部参照を除いた全ファイルの Subversion の状態を読み込みます。検出した最も大きいコミットリビジョン番号を記録し、そのリビジョンのコミットのタイムスタンプが、それはまた、作業コピーの変更、または更新リビジョンが混在しているかどうかを記録します。リビジョン番号や更新リビジョン範囲、変更状態を標準出力に出力します。
コマンドラインやスクリプトから SubWCRev.exe を呼び出し、コマンドラインパラメーターで制御します。
SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]
WorkingCopyPath
はチェックする作業コピーのパスです。SubWCRev は作業コピーのみで使用でき、直接リポジトリを扱えません。作業コピーへのパスは、絶対パス、相対パスどちらでもかまいません。
リポジトリリビジョンや URL といったフィールドをテキストファイルに保存するため、SubWCRev がキーワード置換を行うようにしたい場合があります。その場合、テンプレートファイル SrcVersionFile
や、テンプレートの置換バージョンを含む出力ファイル DstVersionFile
を用意する必要があります。
SubWCRev の動作に影響を与えるオプションスイッチが多数あります。複数を使用する場合は、1つにグループ化して指定する必要があります。例えば、 -n -m
ではなく、 -nm
と指定します。
表5.1 使用できるコマンドラインスイッチ一覧
切り替え | 説明 |
---|---|
-n | このスイッチが与えられた場合、SubWCRev は ERRORLEVEL 7 で終了します。このとき作業コピーにはローカルの変更が含まれています。これは、コミットしていない変更が残っていたまま構築するのを防ぎます。 |
-m | このスイッチが与えられた場合、SubWCRev は ERRORLEVEL 8 で終了します。このとき作業コピーはリビジョンが混ざった状態です。これは、作業コピーに一部が更新された状態で構築するのを防ぎます。 |
-d | このスイッチが与えられた場合、先方のファイルがすでに存在すれば SubWCRev は ERRORLEVEL 9 で終了します。 |
-f | このスイッチが与えられた場合、SubWCRev はフォルダーの最後に変更したリビジョンを含みます。デフォルトでは、リビジョン番号を取得する時のファイルのみ使用します。 |
-e | このスイッチが与えられた場合、SubWCRev は同じリポジトリからだけでなく、svn:externals が含まれているかディレクトリを検査します。 |
-x | このスイッチが与えられた場合、SubWCRev はリビジョン番号を 16 進数で出力します。 |
-X | このスイッチが与えられた場合、SubWCRev はリビジョン番号を「0X」で始まる十六進数で出力します。 |