AnkhSVN und Revisionsnummer

Gast #3799315
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
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)
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...
Ich mach das über das Tool subwcrev, was bei SubVersion dabei ist, das 
kann die Revision der gesamten Arbeitskopie ausgeben und per Template 
Datei raus schreiben. Eingebunden bei VS in die Pre-Build Events. Da 
lassen sich auch nur die Ziffern reinschreiben, also ohne "Rev".
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

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.