Java: Wie erhält man die aktuelle Changeset-Nummer für die Verwendung im Programm?

8

Ich habe kürzlich mit der Verwendung von mercurial für die Versionskontrolle in einem Java-Projekt begonnen. Wenn ich mein Programm starte, werden die Eingabeparameter, die es verwendet hat, um bestimmte Ausgaben zu erzeugen, in eine bestimmte Datei geschrieben. Es wäre schön, wenn ich auch die aktuelle Merkur-Änderungsnummer (die die Version meines Programms anzeigt) zu dieser Ausgabedatei hinzufügen könnte.

Was wäre der einfachste Weg, dies unter Windows zu tun? Ich könnte einen einfachen Java-Parser schreiben, um die Ausgabe der ersten Zeile des Befehls hg log -l 1 abzurufen, aber vielleicht gibt es einen einfacheren Weg (d. H. Weniger Codezeilen)?

    
Rabarberski 10.05.2010, 19:53
quelle

5 Antworten

10

Sie können stattdessen hg identify verwenden.

hg id sollte während des Verpackungsschritts sein, wenn die Quellen festgeschrieben wurden und Sie die gepackte Version Ihrer Anwendung generieren.
Während dieses Schritts können Sie eine version.txt-Datei mit dieser Art von Informationen generieren.

%Vor%

(siehe zum Beispiel "build identification" für Python )

    
VonC 10.05.2010 20:08
quelle
7

Da Sie in einem Java-Projekt sind, könnte dies für Sie relevant sein. Ich verwende dieses Ant-Ziel, um die Versionsinformationen (Mercurial Changeset-ID) in der Anwendungsliste auf der Tomcat Manager-Seite anzuzeigen. Ich setze die Changeset-ID einfach in das Anzeigename xml-Element in meiner web.xml.

%Vor%

Innerhalb der web.xml befindet sich ein Token im Anzeigenamen xml-Element, wie folgt:

%Vor%     
Paul 12.05.2010 10:51
quelle
2

Hier ist die Ansicht der Mercurial-Entwickler: Keyword-Substitution - Warum Sie es nicht brauchen

    
Devon_C_Miller 10.05.2010 22:20
quelle
2

hg Zweig | xargs hg log -l1 - Vorlage {rev} -b

Dies gibt Ihnen die Revisionsnummer für den aktuellen Zweig, in dem Sie arbeiten - sehr wichtig für Builds aus verschiedenen Branchen.

In einer Ameisen-Datei ist das was du brauchst ...

%Vor%     
RPM 22.03.2011 19:55
quelle
2

Mercurial hat eine Erweiterung für die Keyword-Erweiterung. Anweisungen und Warnungen finden Sie unter KeywordExtension .

    
ronp001 09.03.2011 22:03
quelle

Tags und Links