Någon som vet hur SubWCRev fungerar (Subversion)

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Någon som vet hur SubWCRev fungerar (Subversion)

Inlägg 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?
Mr Andersson
Inlägg: 1397
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

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

Inlägg 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.
Senast redigerad av Mr Andersson 1 oktober 2016, 12:52:16, redigerad totalt 1 gång.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg av TomasL »

De exemplen visar inte hur templaten ser ut, enbart hur det blir i målfilen.
Mr Andersson
Inlägg: 1397
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

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

Inlägg av Mr Andersson »

Den övre gråa rutan är template'en, den undre resultatet.
Mr Andersson
Inlägg: 1397
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

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

Inlägg 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
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45291
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

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

Inlägg av TomasL »

Ok. Fick det fungera nu. Tack.
Skriv svar