Sida 1 av 1

Någon som vet hur SubWCRev fungerar (Subversion)

Postat: 1 oktober 2016, 12:15:51
av TomasL
Försöker begripa hur en template till SubWCRev skall se ut.
Hittar ingen (för mig) begriplig information.
Någon som vet, och kan posta ett exempel på template?

Re: Någon som vet hur SubWCRev fungerar (Subversion)

Postat: 1 oktober 2016, 12:49:36
av Mr Andersson
Se t.ex. https://tortoisesvn.net/docs/nightly/To ... ample.html
Man behöver inte använda char* som i examplet utan t.ex. int Revision = $WCREV$; skulle också fungera.
Det finns inga direkta regler för templates utan de kan se ut hur som helst. Det är bara search-and-replace på samma sätt som preprocessorn i C.
https://tortoisesvn.net/docs/nightly/To ... words.html finns alla keywords.

Vanligast är väl att man kör subwcrev som pre-build-steg för att producera en .h-fil som man sen inkluderar i kompileringen, men man skulle lika gärna kunna producera vilken (text)filtyp som helst. Output är en exakt kopia av template'en förutom att alla keywords ersatts av svn-data.

Re: Någon som vet hur SubWCRev fungerar (Subversion)

Postat: 1 oktober 2016, 12:51:42
av TomasL
De exemplen visar inte hur templaten ser ut, enbart hur det blir i målfilen.

Re: Någon som vet hur SubWCRev fungerar (Subversion)

Postat: 1 oktober 2016, 12:52:55
av Mr Andersson
Den övre gråa rutan är template'en, den undre resultatet.

Re: Någon som vet hur SubWCRev fungerar (Subversion)

Postat: 1 oktober 2016, 13:09:07
av Mr Andersson
Här är ett väldigt minimalt exempel:

svndata.template:

Kod: Markera allt

#pragma once

int svnrev = $WCREV$;
char* svndate = "$WCDATE$";
test.c:

Kod: Markera allt

#include <stdio.h>
#include "svndata.h"

int main()
{
	printf("LLVM svn revision %d\tcommit date %s\n", svnrev, svndate);
	return 0;
}
c:\micke\svn> subwcrev .\llvm svndata.template svndata.h
SubWCRev: 'c:\Micke\svn\llvm'
Last committed at revision 280061
Updated to revision 280064
Unversioned items found


C:\micke\svn> type svndata.h
#pragma once

int svnrev = 280061;
char* svndate = "2016/08/30 09:01:37";


c:\micke\svn> cl test.c
c:\micke\svn> test.exe
LLVM svn revision 280061 commit date 2016/08/30 09:01:37

Re: Någon som vet hur SubWCRev fungerar (Subversion)

Postat: 1 oktober 2016, 14:50:45
av TomasL
Ok. Fick det fungera nu. Tack.