it-swarm.com.de

Patches in Mercurial erzeugen

Ich habe im Handbuch danach gesucht, aber ich kann keinen Patch für den letzten Commit erstellen

hg qnew patch_name

aber es feilt nur mit

# HG changeset patch
# Parent a6a8e225d16ff5970a8926ee8d24272a1c099f9c

Ich habe es auch versucht

hg export tip

aber es tut nichts. Ich habe die Änderungen genau festgelegt. 

Wie kann ich eine Patch-Datei mit dem letzten Commit erstellen?

39
deem

Der Befehl dazu ist export:

$ hg export -o FILE -r REV

Es ist keine Umleitung erforderlich und funktioniert daher auf jeder Plattform/Shell korrekt.

56
Idan K

Ihr hg export tip ist der beste Weg, dies zu tun, und die hg diff- und hg log-basierten Antworten sind nur geringere Versionen derselben. Was genau sehen/erhalten Sie, wenn Sie hg export tip eingeben? Was zeigt die Ausgabe von hg log -p -r tip?

Die Änderungsmenge tip ist nur "die Änderungsmenge, die zuletzt in meinem Repository angekommen ist", was kein so nützliches Konzept ist, wie Sie vielleicht denken, da hg pull und hg tag auch Änderungsgruppen erstellen. Wenn Sie wirklich das Letzte wollen, das Sie festgelegt haben, benötigen Sie eine genauere revspec.

22
Ry4an Brase

So wie:

hg diff -r tip > tip.patch
15
Matt Joiner

Sie können diesen Befehl verwenden:

hg log -r tip -p > tip.patch

dadurch wird ein Patch nur für diese Revision erstellt.

5
Trenton Schulz

Wenn Sie convert das letzte Commit in eine Patch-Datei durchführen möchten, verwenden Sie 

hg qimport -r tip

Dadurch wird das oberste reguläre Commit durch eine angewendete MQ-Patchdatei ersetzt.

1
daniel kullmann

Um Patches mit "mq-Erweiterungen" in Mercurial zu erstellen, können Sie die folgenden Schritte ausführen. Dadurch wird ein Patch mit Mercurial erstellt: 

1) Aktivieren von mq-Erweiterungen: Fügen Sie Ihrer hgrc-Datei die folgenden Zeilen hinzu und speichern Sie sie.

[extensions]
mq =

2) Erstellen eines Patches mit mq-Erweiterungen: Zum Erstellen eines Patches mit mq-Erweiterungen können Sie Folgendes tun.

hg qnew -e -m "comment you want to enter" bug_name.patch

Im obigen Befehl dient-eFlag zum Bearbeiten des Patches und-mFlag zum Hinzufügen einer Nachricht zum Patch.

3) Aktualisieren des Patches: Zum Aktualisieren des Patches können Sie den folgenden Befehl verwenden, wenn ein Patch bereits angewendet wurde.

hg qrefresh
0
Anup Allamsetty