AnkhSVN und Revisionsnummer

Gast #3799315
Lesenswert?

Hallo,
vermutlich verstehe ich das Prinzip einfach nicht.
Ich Teste gerade den Umgang mit AnkhSVN im Atmel Studio. Soweit scheint 
alles zu funktionieren. Allerdings verstehe ich nicht, wie das mit dem 
'Einfügen' der Information (Author, Datum, Revisionsnummer) in den 
C-Code funktioniert.
Hat mir jemand dafür ein paar Denkanstösse?

Danke
hal
Gast #3800197
Lesenswert?

Danke! Relativ einfach, wenn man die richtigen Begriffe hat.

Jetzt hab ich noch die frage was der 'elegante' Weg ist, um z.Bsp. die 
Revisionsnummer auf einen Display auszugeben? Muss ich dann
1
#define REV="$Rev: 6 $"
und dann später die Nummer extrahiere oder gibt es einen schöneren Weg?
(Firma: Brainit GmbH) #3800200
Lesenswert?

Bevor du dich mit allzu viel Begeisterung auf die Zerlegung von "$Rev: 6 
$" stürzt: diese (per svn:keywords) eingefügten Revisionsnummern zeigen 
immer nur den Revisionsstand der jeweiligen Datei an! Wenn diese nicht 
geändert wird, wird auch die Revision nicht erhöht!

Was du vermutlich suchst ist "svnversion" 
http://svnbook.red-bean.com/de/1.5/svn.ref.svnversion.re.html

Das wird dann üblicherweise ins build-Skript eingebunden, und die 
Ausgabe in eine spezielle Header-Datei geschrieben.

Leider etwas kompliziert...

Nichtsdestotrotz ist es empfehlenswert (und guter Stil) 
SVN-Informationen im Header jeder Quelldatei zu haben. alle meine 
*.[ch] Files beginnen so:
1
/* $Id: i2c_master.c 723 2014-09-01 06:17:41Z michi $
2
 * $URL: https://svn.trisoft.at/AVR/UART/i2c_master.c $
3
 *
4
 * simple I2C master
5
 *
6
 * Copyright (C) 2013, 2014 Michael Reinelt <michael@reinelt.co.at>
7
 *
8
 */

ich verwende als nur $Id$ und $Url$, da steckt alles notwendige 
drinnen...
#3800272
Lesenswert?

Da: 
http://tortoisesvn.net/docs/nightly/TortoiseSVN_de/tsvn-subwcrev.html

Du brauchst dazu eine Vorlage, aus der dann z.B. die passende Header 
Datei generiert wird. In die Vorlage kommt z.B. rein:

#define REVISION $WCREV$

Beim Ausführen des subwcrev wird dann das $WCREV$ durch die aktuelle 
Version der Arbeitskopie ersetzt. Achja, das will den absoluten Pfad für 
die Arbeitskopie.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren