Es la primera vez que uso un DVCS y también como desarrollador solitario, la primera vez que uso ramas, así que tal vez me falta algo aquí.Almacenar ramas con nombre por separado en mercurial sin tener que fusionarlas
Tengo un repositorio remoto desde el cual extraje los archivos y comencé a trabajar. Los cambios se enviaron al repositorio remoto y, por supuesto, este simple escenario funciona bien.
Ahora que mi aplicación web tiene algunas características estables, me gustaría empezar su despliegue y por eso clonado el repositorio remoto a un directorio nuevas ramas/estable fuera de mi directorio de trabajo para la rama por defecto y se utiliza:
hg branch stable
para crear una nueva rama con nombre. Creé un conjunto de scripts de implementación que solo necesita la rama estable y los comprometí según las necesidades. De nuevo, esto funcionó bien.
Ahora, cuando volví a mi directorio de trabajo inicial para trabajar en algunas características nuevas, descubrí que Mercurial insiste en que SOLO UNA cabeza esté en el repositorio remoto. En otras palabras, tendría que fusionar las dos ramas (por defecto y estable), agregando las secuencias de comandos de implementación innecesarias a mi rama predeterminada para avanzar al repositorio principal. Esto podría empeorar si tuviera que hacer un cambio en un archivo en mi rama estable para poder implementarlo.
¿Cómo puedo mantener mis ramas con nombre separadas en Mercurial? ¿Tengo que crear dos repositorios remotos separados para hacerlo? En cuyo caso, las sucursales nombradas pierden su valor. ¿Me estoy perdiendo de algo?
¿Qué te hizo concluir eso? No veo nada allí que diga "Las ramas nombradas son malas". Personalmente creo que es mucho más fácil trabajar con ellos que con varios repositorios. –
"En la mayoría de los casos, aislar sucursales en repositorios es el enfoque correcto. Su simplicidad facilita su comprensión, por lo que es difícil cometer errores. Existe una relación uno a uno entre las sucursales en las que está trabajando y directorios en su sistema. Esto le permite usar herramientas normales (no compatibles con Mercurial) para trabajar en archivos dentro de una sucursal/repositorio ". - Del libro Mercurial Personalmente, para mí, la sugerencia dada anteriormente conduce a un modelo mental más simple. También modifiqué mi respuesta. –
Ah, supongo que no estoy de acuerdo con que eso simplifique las cosas. ¿Qué pasa si su código necesita estar en una ubicación específica en su sistema de archivos? ¿Copias/cambias el nombre de las carpetas cada vez que quieres cambiar de sucursales? Si alguien quiere obtener todas las sucursales en un proyecto, ¿deberían realmente tener que clonar todo el proyecto varias veces? –