SubWCRev is Windows console program which can be used to read
the status of a Subversion working copy and optionally perform
keyword substitution in a template file.
This is often used as part of the build process as a means of
incorporating working copy information into the object you
are building. Typically it might be used to include the
revision number in an “About” box.
5.1. The SubWCRev Command Line
SubWCRev reads the Subversion status of all files in a working
copy, excluding externals by default. It records the highest commit
revision number found, and the commit timestamp of that revision,
it also records whether there are local modifications in the working
copy, or mixed update revisions. The revision number, update
revision range and modification status are displayed on stdout.
SubWCRev.exe is called from the command line or a script, and
is controlled using the command line parameters.
SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]
WorkingCopyPath
is the path to the working
copy being checked. You can only use SubWCRev on working copies,
not directly on the repository. The path may be absolute or
relative to the current working directory.
If you want SubWCRev to perform keyword substitution, so that
fields like repository revision and URL are saved to a text
file, you need to supply a template file
SrcVersionFile
and an output file
DstVersionFile
which contains the substituted version of the template.
There are a number of optional switches which affect the way
SubWCRev works. If you use more than one, they must be specified
as a single group, e.g.
-nm
, not
-n -m
.
Table 5.1. List of available command line switches
Switch | Description |
---|
-n |
If this switch is given, SubWCRev will exit with
ERRORLEVEL 7 if the working copy
contains local modifications. This may be used to
prevent building with uncommitted changes present.
|
-m |
If this switch is given, SubWCRev will exit with
ERRORLEVEL 8 if the working copy
contains mixed revisions. This may be used to prevent
building with a partially updated working copy.
|
-d |
If this switch is given, SubWCRev will exit with
ERRORLEVEL 9 if the destination file
already exists.
|
-f |
If this switch is given, SubWCRev will include
the last-changed revision of folders. The default
behaviour is to use only files when getting the
revision numbers.
|
-e |
If this switch is given, SubWCRev will examine
directories which are included with
svn:externals ,
but only if they are from the same repository.
The default behaviour is to ignore externals.
|
-x |
If this switch is given, SubWCRev will
output the revision numbers in HEX.
|
-X |
If this switch is given, SubWCRev will
output the revision numbers in HEX, with
'0X' prepended.
|