If a source and destination files are supplied, SubWCRev copies source to destination, performing keyword substitution as follows:
Table 6.3. List of available keywords
Keyword | Description |
---|---|
$WCREV$ | Replaced with the highest commit revision in the working copy. |
$WCREV&$ |
Replaced with the highest commit revision
in the working copy, ANDed with the value
after the & char. For example:
$WCREV&0xFFFF$
|
$WCREV-$, $WCREV+$ |
Replaced with the highest commit revision
in the working copy, with the value
after the + or - char added or subtracted.
For example:
$WCREV-1000$
|
$WCDATE$, $WCDATEUTC$ |
Replaced with the commit date/time of the
highest commit revision. By default,
international format is used:
yyyy-mm-dd hh:mm:ss .
Alternatively, you can specify a custom format which
will be used with strftime() ,
for example:
$WCDATE=%a %b %d %I:%M:%S %p$ .
For a list of available formatting characters, look at the
online reference
.
|
$WCNOW$, $WCNOWUTC$ |
Replaced with the current system date/time.
This can be used to indicate the build time.
Time formatting can be used as described for
$WCDATE$ .
|
$WCRANGE$ | Replaced with the update revision range in the working copy. If the working copy is in a consistent state, this will be a single revision. If the working copy contains mixed revisions, either due to being out of date, or due to a deliberate update-to-revision, then the range will be shown in the form 100:200. |
$WCMIXED$ |
$WCMIXED?TText:FText$ is
replaced with TText if there are mixed update
revisions, or FText if not.
|
$WCMODS$ |
$WCMODS?TText:FText$ is
replaced with TText if there are local
modifications, or FText if not.
|
$WCUNVER$ |
$WCUNVER?TText:FText$ is
replaced with TText if there are unversioned
items in the working copy, or FText if not.
|
$WCEXTALLFIXED$ |
$WCEXTALLFIXED?TText:FText$ is
replaced with TText if all externals are fixed
to an explicit revision, or FText if not.
|
$WCISTAGGED$ |
$WCISTAGGED?TText:FText$ is
replaced with TText if the repository
URL contains the tags classification pattern, or
FText if not.
|
$WCURL$ | Replaced with the repository URL of the working copy path passed to SubWCRev. |
$REPOROOT$ | Replaced with the URL of the repository root. |
$WCINSVN$ |
$WCINSVN?TText:FText$ is
replaced with TText if the entry is versioned,
or FText if not.
|
$WCNEEDSLOCK$ |
$WCNEEDSLOCK?TText:FText$ is
replaced with TText if the entry has
the svn:needs-lock property set,
or FText if not.
|
$WCISLOCKED$ |
$WCISLOCKED?TText:FText$ is
replaced with TText if the entry is locked,
or FText if not.
|
$WCLOCKDATE$, $WCLOCKDATEUTC$ |
Replaced with the lock date.
Time formatting can be used as described for
$WCDATE$ .
|
$WCLOCKOWNER$ | Replaced with the name of the lock owner. |
$WCLOCKCOMMENT$ | Replaced with the comment of the lock. |
$WCUNVER$ |
$WCUNVER?TText:FText$ is
replaced with TText if there are
unversioned files or folders in the working copy,
or FText if not.
|
SubWCRev does not directly support nesting of expressions, so for example you cannot use an expression like:
#define SVN_REVISION "$WCMIXED?$WCRANGE$:$WCREV$$"
But you can usually work around it by other means, for example:
#define SVN_RANGE $WCRANGE$ #define SVN_REV $WCREV$ #define SVN_REVISION "$WCMIXED?SVN_RANGE:SVN_REV$"
Some of these keywords apply to single files rather than to
an entire working copy, so it only makes sense to use these
when SubWCRev is called to scan a single file. This applies to
$WCINSVN$
,
$WCNEEDSLOCK$
,
$WCISLOCKED$
,
$WCLOCKDATE$
,
$WCLOCKOWNER$
and
$WCLOCKCOMMENT$
.