Poniższy przykład pokazuje, jak słowa kluczowe z pliku szablonu są podstawiane w pliku wynikowym.
// Plik testowy dla SubWCRev char *Revision = "$WCREV$"; char *Revision16 = "$WCREV&0xFF$"; char *Revisionp100 = "$WCREV+100$"; char *Revisionm100 = "$WCREV-100$"; char *Modified = "$WCMODS?Modyfikowany:Nie modyfikowany$"; char *Unversioned = "$WCUNVER?Znaleziono niewersjonowane obiekty:brak niewersjonowanych obiektów$"; char *Date = "$WCDATE$"; char *CustDate = "$WCDATE=%a, %d %B %Y$"; char *DateUTC = "$WCDATEUTC$"; char *CustDateUTC = "$WCDATEUTC=%a, %d %B %Y$"; char *TimeNow = "$WCNOW$"; char *TimeNowUTC = "$WCNOWUTC$"; char *RevRange = "$WCRANGE$"; char *Mixed = "$WCMIXED?Wersja mieszana WC:Nie mieszana$"; char *ExtAllFixed = "$WCEXTALLFIXED?Wszystkie zewnętrzne naprawione:Nie wszystkie zewnętrzne naprawione$"; char *IsTagged = "$WCISTAGGED?Tagowane:Nie tagowane$"; char *URL = "$WCURL$"; char *isInSVN = "$WCINSVN?wersjonowane:nie wersjonowane$"; char *needslck = "$WCNEEDSLOCK?TRUE:FALSE$"; char *islocked = "$WCISLOCKED?zablokowane:nie zablokowane$"; char *lockdateutc = "$WCLOCKDATEUTC$"; char *lockdate = "$WCLOCKDATE$"; char *lockcustutc = "$WCLOCKDATEUTC=%a, %d %B %Y$"; char *lockcust = "$WCLOCKDATE=%a, %d %B %Y$"; char *lockown = "$WCLOCKOWNER$"; char *lockcmt = "$WCLOCKCOMMENT$"; #if $WCMODS?1:0$ #error Source is modified #endif // End of file
Po uruchomieniu SubWCRev.exe path\to\workingcopy testfile.tmpl testfile.txt
, plik wyjściowy testfile.txt
będzie wyglądał tak:
// Plik testowy dla SubWCRev char *Revision = "22837"; char *Revision16 = "53"; char *Revisionp100 = "22937"; char *Revisionm100 = "22737"; char *Modified = "Modyfikowany"; char *Unversioned = "brak niewersjonowanych danych"; char *Date = "2012/04/26 18:47:57"; char *CustDate = "Thu, 26 April 2012"; char *DateUTC = "2012/04/26 16:47:57"; char *CustDateUTC = "Thu, 26 April 2012"; char *TimeNow = "2012/04/26 20:51:17"; char *TimeNowUTC = "2012/04/26 18:51:17"; char *RevRange = "22836:22837"; char *Mixed = "Wersja mieszana WC"; char *ExtAllFixed = "Wszystkie zewnętrzne naprawione"; char *IsTagged = "Nie tagowane"; char *URL = "https://tortoisesvn.googlecode.com/svn/trunk"; char *isInSVN = "wersjonowane"; char *needslck = "FALSE"; char *islocked = "nie zablokowany"; char *lockdateutc = "1970/01/01 00:00:00"; char *lockdate = "1970/01/01 01:00:00"; char *lockcustutc = "Thu, 01 January 1970"; char *lockcust = "Thu, 01 January 1970"; char *lockown = ""; char *lockcmt = ""; #if 1 #error Source is modified #endif // End of file
Pliki takie jak ten zostaną włączone do kompilacji więc można oczekiwać, iż będą wersjonowane. Upewnijcie się, by wersjonować plik szablonu, a nie wygenerowany plik, w przeciwnym razie za każdym razem po regeneracji pliku wersji musicie zatwierdzić zmianę, co z kolei oznacza, że plik wersji musi zostać zaktualizowany.