mercurial tortoisehg pull shelve

Estantería automática antes de tirar Mercurial(con TortoiseHG)?



pull shelve (3)

En Mercurial, solo tira. Los cambios no comprometidos se combinan con la sugerencia. El mismo resultado que shelve, pull, unshelve. Con TortoiseHg, aparecerá un cuadro de diálogo para descartar / archivar / fusionar.

Tengo algunos archivos modificados que no quiero comprometer (por ejemplo, web.config). Antes de extraer nuevos conjuntos de cambios, tengo que archivarlos. Después del tirón, tengo que desalojarlos.

Actualmente estoy usando TortoiseHG. ¿Hay alguna extensión que pueda hacer esto automáticamente?


Intentaré algunas cosas diferentes con esto.

Con respecto al archivo Web.config en particular, es posible que desee ver el uso de archivos de configuración local para reemplazos en lugar de dejar los cambios locales sin confirmar. (por ejemplo, hacer referencia a un archivo separado que está en .hgignorar). Los proyectos en los que he trabajado anteriormente hacían esto para separar las configuraciones de prueba / producto de las configuraciones para desarrollo, o viceversa.

No creo que haya ninguna extensión que haga esto por usted, pero sería mejor que escriba un script de lote rápido o de powershell para hacer este flujo de trabajo por usted. En proyectos anteriores, tenía un script que haría algo similar en el sentido de que haría un pull / update / rebase para mantener mis cambios en la punta (estaba trabajando con hg en un servidor SVN que lo hacía importante).

Sé que no respondí tu pregunta directamente, ¡pero espero que esto ayude!


Sugeriría algo más: en lugar de siempre archivar y desmantelar, puede usar dos archivos de configuración diferentes: uno que es parte del repositorio y contiene datos ficticios / de ejemplo, y otro que cada usuario realmente usa localmente, que es ignorado por Mercurial.

Mira esta respuesta para una explicación más detallada de lo que quiero decir.
El ejemplo que estoy dando aquí es para Visual Studio, y veo en tus otras preguntas y respuestas que aparentemente estás usando .net y Visual Studio, así que puedes usar mi ejemplo exactamente como está escrito.