2011-10-23 24 views
33

he buscado que en el manual, pero no pueden generar un parche para la última confirmación. Probéparches Generación de Mercurial

hg qnew patch_name 

pero lo hace único archivo con

# HG changeset patch 
# Parent a6a8e225d16ff5970a8926ee8d24272a1c099f9c 

También probé

hg export tip 

pero no hace nada. Yo cometí los cambios exactamente.

cómo generar un archivo de revisión con la última confirmación en?

+1

'hg diff -c tip> patch' - tenga en cuenta que qnew es parte de la extensión mq y es para un propósito diferente. –

+1

Si ya has hecho un 'qnew' sin cambios, entonces la revisión de la sugerencia estará vacía cuando hagas' export tip '. Deberá hacer qdel para eliminar los parches que ha aplicado. –

Respuesta

45

El comando para hacer esto es export:

$ hg export -o FILE -r REV 

No requiere cambio de dirección y por lo tanto funcionará correctamente en cualquier plataforma/corteza.

+0

También emite los encabezados del conjunto de cambios como el usuario y la fecha que Mercurial puede usar para reconstruir el conjunto de cambios cuando lo importa más tarde . –

14

así:

hg diff -r tip > tip.patch 
+0

Lo ingresé en la consola de Windows, pero crea un archivo vacío. Incluso, el comando "hg diff" no devuelve nada. – deem

+1

Hay una buena interfaz de usuario para esto en TortoiseHG. Pruebe 'hg diff -c tip> tip.patch' en lugar de' -r'. –

+0

@WarrenP OK, abro la ventana del historial de revisiones, y ¿qué sigue? ¿Cómo generar un archivo con cualquier revisión? – deem

5

Puede utilizar este comando:

hg log -r tip -p > tip.patch 

esto generará un parche para apenas esa revisión.

22

Su hg export tip es la mejor manera de hacerlo, y las respuestas basadas en hg diff y hg log son solo versiones menores de la misma. ¿Qué ves/obtienes exactamente cuando escribes hg export tip? ¿Qué muestra la salida de hg log -p -r tip?

El conjunto de cambios se tip sólo significa "el conjunto de cambios que recientemente llegó a mi repositorio", que no es un concepto tan útil como se podría pensar, ya que hg pull y hg tag lugar crear conjuntos de cambios también. Si realmente quieres lo último que has cometido, necesitarás un revspec más preciso.

+4

+1 para explicar qué punta significa que es un error probable. – Spina

1

Si desea convertir la última se comprometen a un archivo de revisión, utilice

hg qimport -r tip 

Esto reemplazará a cometer el superior regular con un archivo de parches MQ aplicada.

0

Para generar parches usando extensiones "MQ" en mercurial, puede seguir los pasos dados a continuación. Esto creará un parche utilizando mercurial:

1) Habilitar extensiones mq: Añada las siguientes líneas a su archivo hgrc y guardarlo.

[extensions] 
mq = 

2) Crear un patch utilizando extensiones mq: Para crear un parche usando extensiones mq puede hacer lo siguiente.

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

En el comando anterior, -e bandera es para editar el parche y -m bandera es para añadir un mensaje al parche.

3) Actualización del parche: para actualizar el parche, puede usar el siguiente comando cuando ya se haya aplicado un parche.

hg qrefresh