マニュアル

キーワード置換

ソースファイルとデスティネーションファイルが指定された場合、SubWCRevはソースをデスティネーションにコピーし、以下のようにキーワード置換を実行します。

表6.3. 使用可能なキーワード一覧

キーワード説明
$WCREV$作業コピー内の最新のコミットリビジョンに置き換えられます。
$WCREV&$作業コピー内の最新のコミットリビジョンと、&文字の後の値との論理積に置き換えられます。例:$WCREV&0xFFFF$
$WCREV-$, $WCREV+$作業コピー内の最新のコミットリビジョンに、+または-文字の後の値を加算または減算した値に置き換えられます。例:$WCREV-1000$
$WCDATE$, $WCDATEUTC$最新のコミットリビジョンのコミット日時で置き換えられます。デフォルトでは、国際形式が使用されます:yyyy-mm-dd hh:mm:ss。代わりに、strftime()で使用されるカスタム形式を指定することもできます。例:$WCDATE=%a %b %d %I:%M:%S %p$。使用可能な書式設定文字の一覧については、 オンラインリファレンス を参照してください。
$WCNOW$, $WCNOWUTC$現在のシステム日時で置き換えられます。これは、ビルド時刻を示すために使用できます。時刻の書式設定は、$WCDATE$の説明と同じように使用できます。
$WCRANGE$作業コピー内の更新リビジョン範囲で置き換えられます。作業コピーの状態が一致している場合、これは単一のリビジョンになります。作業コピーに、古いこと、または意図的なリビジョンへの更新が原因で、複数のリビジョンが混在している場合、範囲は100:200の形式で表示されます。
$WCMIXED$ $WCMIXED?TText:FText$ は、更新リビジョンが混在している場合は TText に、そうでない場合は FText に置き換えられます。
$WCMODS$ $WCMODS?TText:FText$ は、ローカルの変更がある場合は TText に、そうでない場合は FText に置き換えられます。
$WCUNVER$ $WCUNVER?TText:FText$ は、作業コピーにバージョン管理されていない項目がある場合は TText に、そうでない場合は FText に置き換えられます。
$WCEXTALLFIXED$ $WCEXTALLFIXED?TText:FText$ は、すべての外部参照が明示的なリビジョンに固定されている場合は TText に、そうでない場合は FText に置き換えられます。
$WCISTAGGED$ $WCISTAGGED?TText:FText$ は、リポジトリURLにタグ分類パターンが含まれている場合は TText に、そうでない場合は FText に置き換えられます。
$WCURL$SubWCRevに渡された作業コピーパスのリポジトリURLに置き換えられます。
$REPOROOT$リポジトリルートのURLに置き換えられます。
$WCINSVN$ $WCINSVN?TText:FText$ は、エントリがバージョン管理されている場合は TText に、そうでない場合は FText に置き換えられます。
$WCNEEDSLOCK$ $WCNEEDSLOCK?TText:FText$ は、エントリに svn:needs-lock プロパティが設定されている場合は TText に、そうでない場合は FText に置き換えられます。
$WCISLOCKED$ $WCISLOCKED?TText:FText$ は、エントリがロックされている場合は TText に、そうでない場合は FText に置き換えられます。
$WCLOCKDATE$, $WCLOCKDATEUTC$ロック日時で置き換えられます。時刻の書式設定は、$WCDATE$の説明と同じように使用できます。
$WCLOCKOWNER$ロック所有者の名前に置き換えられます。
$WCLOCKCOMMENT$ロックのコメントに置き換えられます。
$WCUNVER$ $WCUNVER?TText:FText$ は、作業コピーにバージョン管理されていないファイルまたはフォルダがある場合 TText に、そうでない場合 FText に置き換えられます。


SubWCRevは式のネストを直接サポートしていないため、たとえば次のような式を使用することはできません。

#define SVN_REVISION    "$WCMIXED?$WCRANGE$:$WCREV$$"
      

#define SVN_RANGE       $WCRANGE$
#define SVN_REV         $WCREV$
#define SVN_REVISION    "$WCMIXED?SVN_RANGE:SVN_REV$"
      

しかし、通常は他の方法で回避できます。例:

ヒント

TortoiseSVNホームページ