2010-10-04 2 views

Antwort

3

Es hängt von Ihrer Version ab, und es sieht so aus, als ob es in 1.5.1 geändert wurde.

1.5.1 oder später

Der Befehl wird alle nicht bestätigten Änderungen standardmäßig hinzufügen

qneu oben auf dem aktuell angelegten Patch (falls vorhanden) ein neues Patch erstellt. Der Patch wird mit allen ausstehenden Änderungen im funktionierenden Verzeichnis initialisiert.

früher als 1.5.1

Sie wollen qnew -f verwenden. Von der docs:

-f: Erstellen Sie einen neuen Patch, wenn der Inhalt des Arbeitsverzeichnisses geändert wird. Alle ausstehenden Änderungen werden dem neu erstellten Patch hinzugefügt. Nach Abschluss dieses Befehls wird das Arbeitsverzeichnis nicht mehr geändert.

+0

Danke, ich muss man Seiten aufmerksamer lesen – Casebash

+3

Es sieht aus wie 'hg qnew -f' wird nicht mehr unterstützt (ich habe 1.6.4). Nicht sicher, wann es fallen gelassen wurde. Aber die gute Nachricht ist, dass "der Patch mit allen ausstehenden Änderungen im Arbeitsverzeichnis initialisiert wird" (aus 'hg help qnew'). –

0

Eigentlich funktioniert der Patch-Prozess gleich ob es nicht festgeschriebene Änderungen gibt oder nicht. Ich mache es immer wie folgt:

[... make changes ...] 

hg qnew -m "foo bar changes" foobar.patch 
--> new empty patch at top of queue 
hg qrefresh 
--> this adds all diffs from 'hg diff' into the current top patch 

EDIT: @CaseBash richtig heraus hat darauf hingewiesen, dass ich falsch liege über den aktuellen Standardverhalten!

+1

In meiner Version heißt es "Der Patch wird mit allen ausstehenden Änderungen im Arbeitsverzeichnis initialisiert werden" - kein leerer Patch – Casebash

+0

Sie haben Recht! Ich habe es unter einem Missverständnis benutzt! – leoger

Verwandte Themen