2010-10-04 10 views

Respuesta

3

Depende de su versión, y parece que cambió en 1.5.1.

1.5.1 o posterior

El comando agregará ninguna cambios no confirmados por defecto

RNUEVO crea un nuevo parche en la parte superior del parche que se aplica actualmente (si lo hay). El parche se inicializará con cualquier cambio pendiente en el directorio de trabajo .

antes de lo 1.5.1

Desea utilizar qnew -f. Desde docs:

-f: Crea un nuevo parche si se modifican los contenidos del directorio de trabajo. Cualquier modificación pendiente se agrega al parche recién creado, por lo tanto, después de que este comando finalice, el directorio de trabajo ya no se modificará.

+0

Gracias, necesito leer las páginas man con más cuidado – Casebash

+3

Parece que 'hg qnew -f' ya no es compatible (tengo 1.6.4). No estoy seguro de cuándo se cayó. Pero la buena noticia es que 'El parche se inicializará con cualquier cambio pendiente en el directorio de trabajo' (de 'hg help qnew'). –

0

En realidad, el proceso de parche funciona igual si hay cambios no confirmados o no. Siempre lo hago de la siguiente manera:

[... 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 ha señalado con razón que estoy equivocado sobre el comportamiento predeterminado actual!

+1

En mi versión, dice "El parche se inicializará con cualquier cambio pendiente en el directorio de trabajo", no un parche vacío – Casebash

+0

¡Tienes razón! ¡Lo he estado utilizando bajo una mala interpretación! – leoger

Cuestiones relacionadas