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)?
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.
(siehe zum Beispiel "build identification" für Python )
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%Hier ist die Ansicht der Mercurial-Entwickler: Keyword-Substitution - Warum Sie es nicht brauchen
Mercurial hat eine Erweiterung für die Keyword-Erweiterung. Anweisungen und Warnungen finden Sie unter KeywordExtension .