2009-11-23 13 views
55

Leí información sobre ramas con nombre y trabajo con marcadores. Lamentablemente, todavía no veo una diferencia entre ellos. ¿Hay alguna?ramificación Mercurial y marcadores

¿Hay alguna diferencia entre:

hg branch blah 
hg up blah 

y

hg bookmark blah 
hg up blah 

?

¿Por qué debería usar un marcador y cómo es diferente de una rama con nombre?

+1

Como nota al margen: Puede aplicar un marcador a una rama * * después de que comenzó a trabajar en la rama. Esto puede ser útil si ha desarrollado algo, pero luego tiene que volver a una revisión anterior y comenzar a desarrollar algo no relacionado (por ejemplo, porque el líder de su equipo se lo indicó). En este caso, puede marcar la primera rama con algún nombre significativo. –

Respuesta

51

Los marcadores son etiquetas que avanzan automáticamente a cambios posteriores, sin dejar ninguna marca en los conjuntos de cambios que anteriormente tenían ese marcador apuntando hacia ellos. Las ramas con nombre, por otro lado, son marcas indelebles que forman parte de un conjunto de cambios. Varias cabezas pueden estar en la misma rama, pero el mismo marcador puede señalar solo una cabeza a la vez. Las ramas con nombre son empujadas/tiradas del repositorio al repositorio, y los marcadores no se desplazan.

Hay una gran comparación ramificación aquí: http://stevelosh.com/blog/entry/2009/8/30/a-guide-to-branching-in-mercurial/

+26

1. El artículo se actualizó: "A partir de Mercurial 1.6, los marcadores se pueden empujar y tirar entre repositorios". 2. Esto explica las diferencias, pero no por qué querría usar una sobre la otra. – Casebash

+3

Las diferencias deberían ayudarlo a elegir el modelo que funciona mejor para usted, y cada uno tiene una compensación clara. ¿Quieres que los nombres de tus ramas permanezcan por siempre? Usa ramas nombradas. Etc. –

+7

, el wiki mercurial dice que las ramas nombradas son para "ramas de desarrollo de larga vida". Entonces, crearía branch para new-major-release, pero usaré bookmarks para fix-bug-XXX branch. –