2010-05-03 20 views

Respuesta

40

No hay equivalente a git clean en el paquete básico Mercurial.

Sin embargo, la extensión hg purge hace lo que está buscando.

Hay una open issue para hacer que esta extensión sea parte del paquete básico.

+0

La extensión de la página wiki dice "Esta extensión se está distribuyendo actualmente junto con Mercurial." La he instalado desde que se publicó .. I No estoy seguro de qué versión tiene o (lo) introducirá. –

+0

Basado en el rastreador de problemas, parece que la función se eliminó d en v1.1.2 porque "las personas que juegan con hg purge pueden eliminar los archivos que necesitan". El problema se actualizó por última vez en mayo de 2009, por lo que se ha quedado obsoleto. Ciertamente votaría para volver a ponerlo. –

+0

1.1.2 lo envía, no estoy seguro de las versiones anteriores. –

6

No uso git para la gestión de mi repositorio. Sin embargo, si tuviera que adivinar, creo que hg purge podría ser lo que está buscando.

5

Si usted está en un sistema basado en Linux (o Windows cygwin) puede:

hg status | grep "^?" | xargs rm -rf 

Si esto funciona se puede poner esto en su ~/.hgrc:

[alias] 
clean = !hg status | grep "^?" | xargs rm -rf 

Después, simplemente ejecutar:

hg clean 

He probado esto en Windows usando cygwin (debería funcionar en Linux).

+1

Eso no cubre archivos que no son rastreados; git clean -fxd. – FelipeC

+1

No hay necesidad de grep. 'clean =! hg status -un0 | xargs -0 rm' –

+2

'clean =! hg status -un0 | xargs -r0 rm' Pequeña afinación. –

10

La extensión ya está incluida en mercurial, pero aún tiene que activarla.

Es tan simple como crear un archivo .hgrc en su directorio (por ejemplo, Win 7: C:\Users\«yourusername»\.hgrc) y añadiendo el siguiente contenido a ese archivo:

[extensions] 
purge = 

(directorio principal es ~/.hgrc para la mayoría de los otros operativo de escritorio sistemas (Unix, Gnu/Linux, Mac osx, BSD, etc.)

Cuestiones relacionadas