2009-11-22 8 views
6

No estoy teniendo suerte usando Bookmarks en Mercurial para Git como branching.Mercurial Bookmarks y 'Git like branching'

Del artículo: https://www.mercurial-scm.org/wiki/BookmarksExtension, configuré "track.current" como verdadero en mi archivo .hgrc.

extracto a continuación:

Por defecto, cuando varios marcadores apuntan al mismo conjunto de cambios, que se avanzar todos juntos. Es posible obtener una mayor Git-como experiencia mediante la adición de la opción de configuración siguiente a su .hgrc

[bookmarks] 
track.current = True 

Sin embargo, tan pronto como comience tratando de hacer un desarrollo paralelo/independiente sobre más de un marcador, a continuación, conmutar ida y vuelta entre los marcadores, corro en los siguientes:

abort: crosses branches (use 'hg merge' or 'hg update -C') 

Ejemplo de reproducir:

# Make a new directory and Mercurial repository 
$ mkdir bookmark 
$ cd bookmark 
$ hg init 

# Create two bookmarks 
$ hg bookmark bk1 
$ hg bookmark bk2 

# Checkout bk1 
$ hg update bk1 
0 files updated, 0 files merged, 0 files removed, 0 files unresolved 

# Create and commit a file to bk1 
$ touch bk1.txt 
$ hg add 
adding bk1.txt 
$ hg commit -m "bk1 file" 

# Checkout bk2 
$ hg update bk2 
0 files updated, 0 files merged, 1 files removed, 0 files unresolved 

# Create and commit a file to bk2 
$ touch bk2.txt 
$ hg add 
adding bk2.txt 
$ hg commit -m "bk2 file" 
created new head 

# Checkout bk1 
$ hg up bk1 
abort: crosses branches (use 'hg merge' or 'hg update -C') 

¿Es este comportamiento normal, para que haya "ramas cruzadas" forzando una combinación o sobrescritura de archivos, cuando se mueve entre marcadores?

Para una "experiencia similar a Git", esperaría poder desplazarme entre bk1 y bk2, comprometiéndome y desarrollándome en cualquiera, fusionándome si y cuando lo necesitaba.

+0

¿cuál es su versión hg? las versiones recientes pueden simplemente cambiar de rama. – tonfa

Respuesta

16

Actualice a Mercurial 1.4, que se lanzó la semana pasada. Entonces podrá cambiar entre las cabezas de una rama sin previo aviso.

+0

Actualizado a Mercurial 1.4 y puede confirmar que da a los marcadores git como el comportamiento de bifurcación sin abortar/advertencias. Gracias. –

+0

buymeasoda: muchas gracias por informarnos! PD: me gusta su nombre de usuario :-) –

+1

Además, actualice a la versión 1.6 (que se lanzará en dos semanas) para obtener marcadores que usted empuje/tire entre repositorios. –

2

Usando una versión de Mercurial anterior a la 1.4, solo puede proporcionar el distintivo -c, siempre que su árbol de trabajo esté limpio (sin cambios no confirmados).

Cuestiones relacionadas