Estoy tratando de confirmar solo ciertos archivos con Mercurial. Debido a que hg tiene auto-add cada vez que intento realizar un cambio, quiere confirmar todos los archivos. Pero no quiero eso porque ciertos archivos aún no están "listos".
Ahi esta
hg commit -I thefile.foo
pero esto es solo para un archivo. La mejor manera para mí sería si puedo desactivar la adición automática como en Git. es posible?
                    
                        version-control
                                mercurial
                                commit
                                
                    
                    
                        Praveen Kumar Purushothaman
fuente
                
                fuente

hg ci foo bar bazRespuestas:
Puede especificar los archivos en la línea de comando, como escribe tonfa:
Eso simplemente funciona y eso es lo que hago todo el tiempo. También puede usar la
--includebandera que ha encontrado, y puede usarla varias veces así:Incluso puede usar un conjunto de archivos para seleccionar los archivos que desea confirmar:
No hay ninguna configuración que desactive el comportamiento de adición automática y haga que Mercurial funcione como lo hace Git. Sin embargo, la extensión mq puede resultar de interés. Es una extensión avanzada, pero te permite hacerlo
Sin embargo, yo mismo no uso MQ para este propósito, ya que creo que es suficiente especificar los nombres de archivo en la línea de comando.
fuente
Si desea confirmar algunos archivos y excluir muchos otros, enumere explícitamente los archivos que desea confirmar.
-Isolo es necesario si desea utilizar patrones en lugar de archivos.Si desea confirmar muchos archivos y excluir solo unos pocos, usar
-Xes más conveniente.Por ejemplo, dado un repositorio que contiene "archivo_1", "archivo_2" y "archivo_3", los siguientes son equivalentes, pero este último es más fácil / rápido de escribir:
fuente
A partir de 3.8 también puede usar
hg commit --interactivepara seleccionar los archivos (antes de 3.8 puede usar la extensión crecord para una funcionalidad similar). La bandera--interactive(o simplemente-i) hará que hg le solicite los archivos que desea incluir en la confirmación. Como beneficio adicional, incluso puede incluir / excluir fragmentos dentro de los archivos.A continuación se muestra un ejemplo de cómo se ve la interfaz. Tenga en cuenta que esta es una captura de pantalla antigua (de crecord en realidad), por lo que la interfaz ha cambiado ligeramente (pero los conceptos básicos son los mismos).
Tenga en cuenta que para obtener esa interfaz necesita la interfaz de curses habilitada. Puede hacerlo para una sola ejecución con
hg commit --config ui.interface=curses --interactiveo en general agregando lo siguiente a su.hgrc:fuente