2010-04-01 14 views
205

He descargado TortoiseHg 1.0 para su evaluación. Por mi vida no puedo entender cómo hacer una rama. Parece entender las ramas (por ejemplo, en su navegador de repositorio), pero parece que no puedo encontrar la manera de hacer una rama. Esto parece ser una capacidad fundamental, ya que los beneficios de DVC que se suelen promocionar son las ramificaciones livianas.Cómo ramificar con TortoiseHG

Busqué en Google y no pude encontrar mucha discusión sobre este tema (al menos para las versiones más recientes), así que tengo que asumir que me falta algo, ¿verdad?

Actualización: Así que señalé la respuesta de Chad Birch a continuación para responder al problema de la "nueva sucursal". Como señala correctamente, debe hacer una confirmación y luego hacer clic en el botón de rama para abrir el cuadro de diálogo de mantenimiento de rama, que es donde crea nuevas ramas. Me gustaría que nos hubieran dado una opción de menú contextual para esto. Una vez que se ha ramificado, la siguiente pregunta natural es cómo fusionarse y esto tampoco es obvio. Resulta que esa opción está enterrada en el explorador del repositorio. Debe seleccionar el encabezado de otra rama, haga clic derecho y luego seleccione "Fusionar con ...".

+1

Gracias por preguntar esto, he estado tirando del pelo limitado disponible sobre esto! –

+0

La ramificación está seriamente enterrada en un aspecto completamente no intuitivo del flujo de trabajo. La ramificación y el compromiso son dos operaciones muy distintas y no tiene sentido enterrar las ramificaciones en las profundidades de la IU de compromiso. Como normalmente confirmo ** antes de la bifurcación, no se me ocurrió mirar debajo de la UI de confirmación. La ramificación sigue siendo [todavía en la actualidad no documentada incluso a mediados de 2016] (http://tortoisehg.readthedocs.io/en/latest/commit.html?highlight=branch); Chad Birch señala lo que pasa para la documentación de ramificación; todavía es horrible, pero como señala, él es solo el mensajero ... – arclight

Respuesta

200

As shown in the docs, todo lo que debe necesitar para hacer es simplemente haga clic en la rama : default botón cerca de la parte superior del diálogo de confirmación, y el cambio a un nuevo nombre de la sucursal.

+29

Ah, veo dónde dice "al presionar este botón se abre un cuadro de diálogo de mantenimiento de la rama". Eso sí abre un diálogo que, al parecer, permite la creación de sucursales, pero discrepo con la frase "Como se muestra en los documentos", ya que no hay una mención explícita de cómo crear una rama en ninguna parte de esa página que Lo podría encontrar. Me pregunto qué hizo la bifurcación para merecer obtener un tratamiento de segunda clase en TortoiseHg (frente a las otras herramientas de Tortoise * donde es una opción de menú contextual de primera clase).:-) –

+29

Oh, no estaba tratando de insultar de una manera "RTFM" ni nada por el estilo, solo necesitaba un tipo de frase para vincular a la página relevante. Tal vez "como implícitamente implícita en los documentos" habría sido más apropiado en esta situación. –

+1

Sin sudar. No estaba tratando de ser insultante tampoco. Solo quería dejar en claro a todos los que vinieron a ver ese enlace que realmente deben leer entre líneas en los documentos para obtener la respuesta, ya que no se menciona explícitamente. –

8

La mayor parte del tiempo en mercurial, usted clone el repositorio para hacer una sucursal.

Puede fusionar los repositorios separados una vez que haya realizado sus ediciones y confirmaciones.

Esto podría parecer que ocuparía mucho espacio en el disco, pero en la mayoría de los sistemas operativos, mercurial creará enlaces rígidos en lugar de copiar los archivos. De todos modos, el espacio en el disco es normalmente barato, y debido a que es local, es bastante rápido.

Si lo piensas bien, cada "pago y envío" (en terminología svn) o "clonar" (en terminología mercurial) es realmente una rama que probablemente se fusionará, así que tiene mucho sentido que los clones sean la forma común de hacer ramas.

+10

No es conveniente para las ramas de características. – Tower

+0

De acuerdo. Si tiene ramas de larga ejecución (semipermanentes), como una rama estable de versión 1 y una rama estable de versión 2, querrá usar [ramas con nombre] (http: //mercurial.selenic. com/wiki/NamedBranches). Ver también la [documentación de la sucursal mercurial] (http://mercurial.selenic.com/wiki/Branch). – blokeley

+9

-1. Esto es, en el mejor de los casos, un truco. La clonación para la bifurcación no funciona en absoluto si está siguiendo un repositorio remoto, ya que no puede impulsar sus cambios locales. Esto significa que no puede compartir su sucursal con otros desarrolladores con los que está trabajando. La forma correcta de bifurcar es crear una sucursal con nombre dentro de su repositorio. –

23

Para iniciar la nueva rama con TortoiseHg pulse Confirmar ... a continuación, sobre el mensaje del informe de prensa Branch, luego "Abrir nueva rama llamada:"

9

sólo quería añadir que con el fin de empujar nueva rama de repositorio remoto existe es una casilla de verificación en la pestaña Sincronizar en Opciones de "Permitir inserción de una nueva rama"; debe recordar apagarla nuevamente después.