Subversion Revisions Nummer in JAVA Code einfügen.

Tikonteroga

Erfahrenes Mitglied
Hallo,

ich verwende Subversion um meinen JAVA Code zu versionieren.

Nun möchte ich gerne dass meine Anwendungen zur Laufzeit wissen, zu welcher Revision sie gehören.

Gibt es eine Möglichkeit, das Subversion die aktuelle Revision in den Java Code einfügt.

Also dass ich bei meiner Klasser nachher z. B. folgendes ausführen kann.

Code:
private static final int REVISION = 204;

public static int getRevision() {
     return REVISION;
}

Ich würde mich über Vorschläge aber auch Alternativen sehr freuen.

Mfg

Tikonteroga
 
wenn du mit einem buildtool wie maven arbeitest, müsste das über einen filter gehen.

wenn du mit ant arbeitest, kannst du dir über svn-in-ant (name vergessen >2 jahre her) dir die revisionsnummern holen. statt sie in den javacode zu wursten, würde ich sie dann in ein propertyfile schreiben und mir von dort diese infos holen.

grüße
gore
 
Hi.
das hört sich interessant an. aber worher weiss SVN beim commit, dass da wieder $REV$ statt 2349 hinmuss?
Ganz einfach: in der eingechekten Datei steht immer $REV$, nur in deiner Working-Copy steht der Wert des Keywords.

Aber Vorsicht, das $REV$ bezieht sich lediglich auf die letzte Änderung der Datei. D.h. wenn die Datei in der das Keyword auftaucht seit 50 Revisionen nicht geändert wurde, kannst du im Nachhinein nicht sagen welche Revision du nun ausgecheckt hattest (um z.B. Fehler nachvollziehen zu können).

Falls du Ant verwendest könntest du z.B. die Revision des Toplevel-Directories auslesen und z.B. im Manifest speichern (http://subclipse.tigris.org/svnant/svn.html).

Gruß
 
Zurück