2009-12-28 15 views
10

Muchas veces hago dos cambios diferentes a los archivos en mi repositorio, quiero que esos cambios sean tratados como dos confirmaciones consecutivas.Commitir solo algunos archivos en Mercurial

Por ejemplo, en el repositorio

  • prog.c
  • prog.h
  • README.txt

mientras que la fijación de un error prog.c y prog.h, me ha corregido un error tipográfico en README.txt . Ahora quiero confirmar el cambio a prog.c con su propio mensaje de confirmación y luego cambiar a README.txt.

En git, que fácilmente podría hacer eso con el índice

git add prog.c prog.h 
git commit -m 'bug #1234' 
git commit README.txt -m 'some typos fixed' 

Cuál es la mejor manera de hacerlo en Mercurial?

Aclaración: He utilizado (antes de la edición) un ejemplo de juguete en el que cada conjunto de cambios abarca más de un único archivo. Pero quiero la respuesta general, ¿qué debo hacer cuando hay muchos archivos en cada conjunto de cambios?

Respuesta

19
hg commit -m "bug #1234" prog.c prog.h 

continuación

hg commit -m "some typos fixed" README.txt 
+0

¿Qué pasa si hay más de un archivo para el error # 1234? –

+2

hg commit -m "error # 1234" prog.c prog.h – Jerome

+9

Si desea todos los archivos, pero README.txt: hg commit -m "error # 1234" -X README.txt – Jerome

2

Me encanta la extensión mercurial crecord para este propósito: me da archivo por archivo (y trozo por trozo, y línea por línea) el control sobre qué es exactamente lo que quiero en este cometer.

+3

O la extensión de registro original que se envía con mercurial y funciona en Windows. – pmezard

Cuestiones relacionadas