2012-11-12 6 views
5

Ich sehe mir ein Beispiel für einen doxygen Code an und sehe folgendes.

/** 
    @file test.h 
    @brief Define helper functions 
    $Id: test.h,v 1.10 2012/10/10 10:10:10 author Exp $ 
*/ 

Kann jemand erklären, was $ Id tut hier?

Danke

+0

Hmm. Das ', v' sieht verdächtig nach einer CVS-Dateikennung aus. Ich habe CVS jedoch seit Jahren nicht mehr benutzt, so dass ich keine Repositories mehr habe, um sie zu überprüfen! Werfen Sie einen Blick auf die [Datei] (ftp://ftp-glast.slac.stanford.edu/glast.u05/src/CMX/cmt/cmx_doxygen.pl) für ein ähnliches Beispiel. – Rook

+3

Das ist eine Versionskontroll-ID, CVS, SVN oder andere. Der Versionskontrollmechanismus aktualisiert diese Informationen automatisch, wenn Sie einige Änderungen vornehmen. Es ist auch nicht spezifisch für Doxygen. – juanchopanza

Antwort

10

Das ist überhaupt keine Doxygen-Linie. Das ist ein Quellcode-Steuerelement, das es anweist, in Versionsinformationen zu ersetzen, damit Sie in der Quelle sehen können, mit welcher Commit-Version Sie arbeiten. Siehe http://www.badgertronics.com/writings/cvs/keywords.html

+0

Also füge ich '$ Id: $' hinzu, bevor ich meine Dateien in das Repository importiere? Danke – elgnoh

+0

Die '$ Id: $' Syntax wird von RCS, CVS und (optional) SVN verwendet. Ja, Sie fügen Ihrer Quelldatei '$ Id: $' oder nur '$ Id $' hinzu, bevor Sie sie einchecken. Wenn Sie es auschecken, wird es automatisch erweitert. –

+0

Möglicherweise müssen Sie dem Quellcodeverwaltungssystem auch manuell mitteilen, dass es die Schlüsselwortersetzung durchführt, damit diese Informationen in das Tag eingefügt werden. z.B. für SVN siehe (http://wiki.preshweb.co.uk/doku.php?id=svn:propset)[http://wiki.preshweb.co.uk/doku.php?id=svn:propset] etwas wie "svn propset svn: keywords 'id' test.h" Sie können es auch im Abschnitt [auto-props] Ihrer .subversion/config-Datei einrichten, um diese Eigenschaft automatisch zu neuen Dateien hinzuzufügen, mit Zeilen wie "* .h = svn: Schlüsselwörter = ID " –