precio - mercurial svn
¿Cómo elimino todos los archivos sin seguimiento de mi directorio de trabajo en Mercurial? (9)
¿Es posible eliminar todos los archivos sin seguimiento de mi directorio de trabajo? Digamos que agregué un montón de archivos a mi directorio de trabajo, no los agregué a través de ''hg add'' y ahora quiero deshacerme de esos nuevos archivos por completo.
Estoy en Windows, aunque estoy usando PowerShell, entonces una solución combinada también es posible aquí.
¡Gracias! Esto funcionó para mí también en Powershell:
hg st -un | rm
Agregue la Extensión Mercurial llamada purga . Es distribuido por Mercurial.
Esta extensión agrega un comando de "purga" a "hg" que elimina archivos desconocidos para Mercurial. es decir, archivos sin seguimiento. Entonces tu comando sería,
hg purge
No está habilitado de manera predeterminada, quizás para evitar eliminar accidentalmente los archivos que olvidó agregar.
Para instalar esta extensión, agréguela a su archivo de configuración mercurial (.hgrc en Unix, Mercurial.ini en Windows)
[extensions]
purge =
Esto debería funcionar:
hg status | grep ''^/?'' | sed ''s/^/? //'' | xargs rm -rf
La forma correcta sin purga es:
hg st -un0 | xargs -0 rm
Pruebe lo siguiente:
hg st -un | xargs rm
Puedes usar
hg purge --all
para eliminar todos los archivos ignorados y no rastreados
(primero necesita instalar la extensión de purga como se explica en algunas respuestas)
Suponiendo que está utilizando un sistema * nix, podría ejecutar algo como esto:
rm `hg st | awk ''//?/ {print $2}''`
desde la raíz del repositorio mercurial.
No sé de un comando mercurial estándar para lograr lo mismo, pero creo que hay muchas más opciones de línea de comandos para hacer esto. Estoy seguro de que hay "mejores" soluciones y estaría interesado en escuchar cualquier otra sugerencia.
Utilice este comando con precaución ya que no fue probado minuciosamente.
si no quieres usar Purge:
rm $(hg st | grep ^? | awk ''{print $2}'')
rm $(hg st -u)
... donde -u significa "sin seguimiento", también puede elegir otro estado.