Estoy moviendo un proceso de compilación para usar mercurial y quiero que el directorio de trabajo vuelva al estado de la revisión de la sugerencia. Las ejecuciones anteriores del proceso de compilación habrán modificado algunos archivos y agregado algunos archivos que no deseo confirmar, por lo que tengo cambios locales y archivos que no se agregan al repositorio.Mercurial: ¿cómo descartar todos los cambios locales, incluidos los archivos no versionados?
¿Cuál es la forma más fácil de descartar todo eso y obtener un directorio de trabajo limpio que tenga la última revisión?
Actualmente estoy haciendo esto:
hg revert --all
<build command here to delete the contents of the working directory, except the .hg folder.>
hg pull
hg update -r MY_BRANCH
pero parece que no debe haber una manera más sencilla.
Quiero hacer el equivalente a eliminar el repositorio, hacer un clon nuevo y una actualización. Pero el repositorio es demasiado grande para que sea lo suficientemente rápido.
Es "(eliminar el contenido ...)" un comentario al comando "revert --all" o un paso que realice? Lo pregunto porque "hg update" solo actualizará los archivos que cambiaron. Si elimina otros archivos antes de realizar la actualización, no los recuperará a menos que actualice de nuevo a la revisión nula ('hg update 00') y luego haga una copia de seguridad de la sugerencia. ¿Por qué no 'hg revertallall' basta para volver a un estado de carpeta de trabajo consistente antes de tirar y actualizar? –
es un paso separado hecho con mi software de compilación. (Podría haber usado una eliminación de línea de comandos, pero no lo hice). – Rory
Es posible que el comando 'archive' sea útil en el futuro. Por ejemplo, podría 'hg archive ../ newbuild', y una instantánea de su repositorio en la última' hg update' se colocará allí. Normalmente lo hago para construcciones nocturnas solo para no arriesgar el desorden de mi repositorio. Simplemente elimine el directorio de compilación cuando ya no lo necesite. –