¿Cómo hacer 'hg remove' de Mercurial para todos los archivos que faltan?

224

Lo uso para eliminar un archivo del repositorio:

hg remove <full file path> 

¿Qué comando puedes usar para hacer un hg removeen todos los archivos que se han eliminado localmente?

Por eliminado localmente, me refiero a aquellos que aparecen con un !cuando lo haces hg status.

Para las adiciones, simplemente puede hg addagregar todos los archivos nuevos (los que tienen el prefijo ?).

Marcus Leon
fuente

Respuestas:

364

Esto agregará todos los archivos nuevos que no se ignoran y eliminará todos los archivos que faltan localmente

hg addremove

Cualquiera de estos eliminará todos los archivos que faltan localmente (son el mismo comando)

hg remove --after
hg remove -A
mfperzel
fuente
77
También hay hg olvidar, que es equivalente a hg rm -Af
jk.
37
el jk para un nombre de usuario es amenazante, siento que cada vez que leo uno de tus comentarios o publicaciones que estás diciendo "es broma" al final :( dicho esto, esto ayudó, ¡salud!
Lester Peabody
66
una palabra de advertencia ... no se asuste cuando arroje un montón de basura a la pantalla ... (como lo hice)
Richard B
1
¡Guauu! ¡Gracias! Eso ayudó mucho! ¡Guauu! +1 :) hg rm -A
Cullub
32

Si tiene la intención de hacer addremove y commit, se puede unir con la opción '-A' como se muestra aquí :

hg commit -A -m 'Commit with addremove'
tsenapatía
fuente
5

La pregunta original preguntaba cómo eliminar (es decir, olvidar) los archivos que aparecen como "!"cuando se usa hg st. Un enfoque directo que tiene la ventaja de la transparencia es usar hg stcon la -nopción:

hg -v forget $(hg st -nd)

(Por supuesto, los archivos solo se olvidarán en la próxima confirmación ).

Las banderas están bien documentadas en otros lugares (por ejemplo, por el comando hg), pero en resumen:

  • -n significa "solo nombre de archivo"
  • -d significa "seleccionar archivos que han sido eliminados"
pico
fuente
¿Puedes explicar cada una de esas banderas?
Cullub
1

Si desea agregar eliminar y confirmar, pero no está listo para confirmar el resto de sus cambios, creo que todavía tiene que enumerarlos:

$ hg st
M modified-file
A added-file
R removed-file-1
R removed-file-2

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-*
abort: removed-file-*: No such file or directory

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-1 removed-file-2
committed changeset 185:628800a7af84
Dan Ross
fuente