The example below shows how keywords in a template file are substituted in the output file.
// Test file for SubWCRev: testfile.tmpl char *Revision = "$WCREV$"; char *Modified = "$WCMODS?Modified:Not modified$"; char *Date = "$WCDATE$"; char *Range = "$WCRANGE$"; char *Mixed = "$WCMIXED?Mixed revision WC:Not mixed$"; char *URL = "$WCURL$"; #if $WCMODS?1:0$ #error Source is modified #endif // End of file
After running SubWCRev.exe path\to\workingcopy testfile.tmpl testfile.txt
,
the output file testfile.txt
would looks like this:
// Test file for SubWCRev: testfile.txt char *Revision = "3701"; char *Modified = "Modified"; char *Date = "2005/06/15 11:15:12"; char *Range = "3699:3701"; char *Mixed = "Mixed revision WC"; char *URL = "http://tortoisesvn.tigris.org/svn/tortoisesvn/... trunk/src/SubWCRev"; #if 1 #error Source is modified #endif // End of file
A file like this will be included in the build so you would expect it to be versioned. Be sure to version the template file, not the generated file, otherwise each time you regenerate the version file you need to commit the change, which in turn means the version file needs to be updated.