2010-01-10 16 views

Respuesta

14

Las etiquetas se almacenan en el directorio de trabajo en .hgtags, es decir, en la copia de trabajo, no en el 'repositorio' local. Dado que todas las operaciones remotas tienen lugar en el repositorio remoto, no en la copia de trabajo remota, no hay forma de listar las etiquetas de forma remota.

En esencia .hgtags simplemente le da a los conjuntos de cambios nombres convenientes, las etiquetas no tienen nada que ver con los metadatos del repositorio o el control de versiones.

Tenga en cuenta que la filosofía de diseño de Mercurial es que debe ser escalable; Para que un sistema de control de versiones distribuidas sea escalable, el "trabajo duro" debe realizarse en la máquina que inició el comando, por eso primero debe obtener un clon para hacer cualquier cosa difícil.


Editar: Como Tom Anderson señala (ver comentarios), las etiquetas son, de hecho, la unión de los definidos en los archivos .hgtags en todas las revisiones de cabecera, lo que hace aún más difícil.

+0

¿Sería posible entonces, a la salida sólo los '.hgtags 'archivo de alguna manera? – troelskn

+0

No tan lejos como sé. Sin embargo, es solo un archivo ordinario, así que si estás utilizando hg en ssh, deberías poder descifrarlo. – James

+0

Ah ... Supongo que mi pregunta podría reformularse a: Dado un URI de repositorio, ¿cuál sería la ruta relativa a la ubicación de HEAD de ese archivo? ¿Puedo anteponer la ruta relativa? – troelskn

9

No es posible con un repositorio Mercurial estándar. Si puede ver ssh en la máquina remota, simplemente hágalo y ejecute: hg tags

Cuestiones relacionadas