2011-04-15 10 views
5

He creado una rama y una etiqueta con el mismo nombre: 0.2.0. He encontrado algunos problemas con la fusión, pero logré superarlos, usando -r y proporcionando una revisión explícita. Entonces no es mi pregunta qué hacer. Más bien, me gustaría saber: ¿se sugiere tener un nombre diferente para una rama y una etiqueta cuando se produce una nueva versión? ¿Hay algún nombre estándar para esas etiquetas y ramas?mercurial: conflictos de rama con la etiqueta

Respuesta

8

Etiquetaría el código con los números de versión como lo hace, por ejemplo, 1.0, 2.0 y así sucesivamente. Por ramas de mantenimiento me gustaría utilizar 1.x, 2.x, etc.

La etiqueta 1.1 sería entonces hacerse en la rama 1.x y la 1.0 de cambios es el punto de tenedor para la rama 1.x. No está en la rama ya que solo crea la rama 1.x cuando necesita hacer una liberación de corrección de errores 1.1.

Por último, se puede utilizar el revset language distinguir entre una etiqueta y una rama:

$ hg log -r 'branch(foo)' 
$ hg log -r 'tag(foo)' 
+0

Niza, gracias, voy a tener esto en cuenta. – gruszczy

+0

¿Está escondido en algún lugar de la documentación mercurial? – kikeenrique

3

Con la posible excepción de default, no hay nombres estándar para ramas o etiquetas en Mercurial. Su esquema de nombre de sucursal/etiqueta sería dictado por su proceso de desarrollo.

No creo que usar el mismo nombre para una rama con nombre y una etiqueta es una buena idea, sin embargo. Normalmente puede ejecutar hg update <name> y siempre que <name> coincida con una rama con nombre o una etiqueta, Mercurial resolverá el nombre y lo llevará allí. Pero, si tiene una rama y una etiqueta con el mismo nombre, no tiene forma de diferenciar entre los dos, y lo llevará a uno. Por supuesto, puede especificar la revisión de forma explícita, pero ese tipo de derrotas la conveniencia de usar nombres.

Cuestiones relacionadas