¿Es esto correcto? Fusión entre ramas estables y predeterminadas en Mercurial usando TortoiseHg
Frecuentes
Visto 1,573 veces
8
Soy nuevo en Mercurial y estoy usando el sistema de bifurcación Estable/Predeterminado. Todos estamos en Windows aquí, y estoy tratando de que todos los demás trabajen en este sistema. Todos usamos TortoiseHg. Estoy tratando de documentar cómo fusionar cambios en lanzamientos estables y etiquetados, pero solo he estado usando Mercurial durante aproximadamente tres semanas, por lo que ni siquiera estoy seguro de estar haciendo esto correctamente. Además, parece que a TortoiseHg le faltan algunas opciones disponibles en la línea de comandos. Pero necesito hacer que esto funcione desde el shell de Windows, o no se adoptará aquí.
Todo nuestro trabajo de programación se realiza de manera predeterminada y la rama estable se usa solo para las versiones del software. Una cosa que me lleva a creer que estoy haciendo algo mal es que, después de cada fusión, tengo que volver a hacer la rama estable. ¿Eso es normal? Parece contra-intuitivo.
A continuación se muestra el procedimiento que escribí. Por favor, siéntase libre de señalar mi idiotez o hacer cualquier pregunta. Y gracias de antemano por cualquier comentario.
En mi computadora portátil, hay dos directorios para cada proyecto. El directorio de desarrollo almacena un clon de la rama predeterminada,
==================
Fusionando las ramas y creando una versión estable, TortoiseHg
-- Confirmar en el repositorio de desarrollo.
-- Abra el directorio local de desarrollo.
-- Inicie HgWorkbench.
-- Haga clic en la última versión estable de la rama estable.
-- Seleccione Fusionar con local...
-- Sincronizar y enviar cambios al repositorio remoto.
-- Ir al repositorio estable local.
-- Sincronizar y extraer del repositorio remoto.
-- Actualizar a la última rama predeterminada. Elegir "actualizar hasta la sugerencia" debería ser lo mejor.
-- TortoiseHg -> cometer. Comprometerse a la rama "estable". Deberá volver a crear una nueva rama. Cuando te pregunte, selecciona "Reiniciar rama".
-- Abra HgWorkbench y agregue una etiqueta para la última versión estable. Ejemplo "Versión XX"
-- Sincronizar y enviar al repositorio remoto. Utilice el botón Opciones en el cuadro de diálogo Sincronizar para que aparezca el cuadro de diálogo "Opciones de sincronización". En el campo inferior etiquetado como "Sucursal", escriba "estable"
-- Regrese al repositorio local "devel".
-- Sincronizar y extraer del repositorio remoto. Utilice el botón Opciones en el cuadro de diálogo Sincronizar para que aparezca el cuadro de diálogo "Opciones de sincronización". En el campo inferior con la etiqueta "Sucursal", asegúrese de que el campo esté en blanco. De lo contrario, se establecerá de forma predeterminada en la rama "estable".
1 Respuestas
6
No es necesario que el segundo clon logre lo que desea y creo que agrega complejidad donde no se necesita.
Esto es lo que haría:
- Tener un solo clon del repositorio.
- comprometerse en el
default
biblioteca - Inicio
HgWorkbench
- Haga clic derecho en el último conjunto de cambios en el
stable
biblioteca - Elija una
Update...
en el menú emergente y presione el botónUpdate
botón en la ventana emergente (use las opciones predeterminadas) - Haga clic derecho en el último conjunto de cambios en el
default
biblioteca - Elija una
Merge with local...
- Si se muestra que el estado del directorio de trabajo está limpio (debería estarlo), haga clic en el
Next
. - Si no hay conflictos de fusión (nuevamente, no debería haberlos si no desarrollas en
stable
) haga clic en elNext
botón de nuevo - Introduzca un mensaje de confirmación y haga clic en el
Commit
botón y la prensaFinish
en el siguiente paso - Haga clic derecho en el último conjunto de cambios en el
stable
ramifica y eligeTag...
, ingrese el nombre de la etiqueta y presione el botónAdd
- Haga clic derecho en el último conjunto de cambios en el
default
ramifica y eligeUpdate...
utilizando las opciones predeterminadas de nuevo
Ahora tienes una etiqueta stable
rama y están de vuelta en el default
rama para continuar el desarrollo. Cuando estés listo para lanzar un nuevo stable
versión y luego repita los pasos anteriores desde el paso 3.
contestado el 03 de mayo de 12 a las 17:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas mercurial tortoisehg or haz tu propia pregunta.
Eso suena mucho más limpio. Voy a probar eso por la mañana. ¡Muchas gracias! - user1372617