Acabamos de cambiar a mercurial de subversión y hay una cosa que está consumiendo más tiempo de lo esperado; uniendo cabezasCómo fusionar automáticamente 2 cabezales con mercurial
Nos encanta el hecho de que mantiene las fusiones independientes de las 2 confirmaciones (en comparación con la subversión), pero terminamos fusionando regularmente 2 encabezados para cambios no relacionados.
Escenario simple. Tanto yo como Bob estamos al día. Ambos tenemos nuestro repositorio actualizado en la rama predeterminada (también conocida como principal) y mejoramos en diferentes archivos.
Nos comprometemos y solo uno será capaz de presionar al servidor central, el otro creará 2 cabezas. Luego, tire, seleccione 2 cabezas, fusione (irá fácilmente ya que los cambios están en diferentes archivos). Comprometerse, luego empujar.
Por lo tanto, hay una extensión que hace estos pasos Intento de fusionar Si no hay conflictos Commit demás Cancel fusionamos
Buscamos tener esta carrera en un servidor automatizado, por lo que esto es 1 línea de comando y otro +1 si puede hacer la fusión sin tocar la copia de trabajo.
Gracias!
Actualización:
Terminamos haciendo un par de scripts de Python para manejar las tareas más comunes (fusionar hasta & acumulación; fusionar 2 cabezas).
¡Gracias por la ayuda!
FWIW El autor de Mercurial, Matt, cree que fetch es una muy mala idea: http://www.selenic.com/pipermail/mercurial/2009-June/026320.html –
@ Ry4an - Posiblemente, pero podría cambiar automáticamente de padres a través de su hgrc (http://www.selenic.com/pipermail/mercurial/2009-June/026324.html). Fetch ahorra muchas pulsaciones de tecla y funciona muy bien para repositorios simples donde los miembros del equipo trabajan estrechamente entre ellos. – derekerdmann
¿qué tiene que ver --switch-parent con algo? Matt no se recomienda en contra de buscar porque no sabía sobre el cambio de padre (probablemente lo escribió). Está recomendando no hacerlo porque piensa que es una mala característica en general. Ha hablado sobre desaprobarlo/eliminarlo por completo, pero teme que sea demasiado tarde.Es una mala idea. –