Hi,
The biggest
obstacle I see is actually getting the SVN revision number in
our source somewhere. Maybe our local SVN guru, aka Casper, has an idea how
to do this?
The information is stored in the .svn folder, and would not be hard to
extract procedurally.
Just execute "svnversion ." in any directory of the working copy.
This prints the current revision number to standard output.
Here is the online help for this tool:
===============
svnversion: invalid option: --help
usage: svnversion [OPTIONS] WC_PATH [TRAIL_URL]
Produce a compact "version number" for the working copy path
WC_PATH. TRAIL_URL is the trailing portion of the URL used to
determine if WC_PATH itself is switched (detection of switches
within WC_PATH does not rely on TRAIL_URL). The version number
is written to standard output. For example:
$ svnversion . /repos/svn/trunk
4168
The version number will be a single number if the working
copy is single revision, unmodified, not switched and with
an URL that matches the TRAIL_URL argument. If the working
copy is unusual the version number will be more complex:
4123:4168 mixed revision working copy
4168M modified working copy
4123S switched working copy
4123:4168MS mixed revision, modified, switched working copy
If invoked on a directory that is not a working copy, an
exported directory say, the program will output "exported".
Valid options:
-n [--no-newline] : do not output the trailing newline
-c [--committed] : last changed rather than current revisions
--version : show version information
===============
The output contains some more information as just the revision number.
For example get see a trailing "M" after the number if any file in the WC
is modified. To strip it, one might use a command like:
svnversion doc | sed s/[A-Z]// > svnrevision.inc
(or write another little tool that does this job and put it into the "tools"
folder)
Regards,
Martin