2011-12-24 17 views
16

Olvidé etiquetar y una versión anterior de mis archivos con una etiqueta de lanzamiento. La versión anterior está en r13, la última es sobre r65. Cloné el último repositorio en un nuevo directorio, hice una "actualización hg -r13" para obtener el código anterior que quería etiquetar, luego hice el comando de etiqueta, pero recibí el mensaje:Mercurial, cómo etiquetar la versión anterior de los archivos

abortar: no en un encabezado (use -f para forzar)

¿Es seguro utilizar la opción -f en esta situación?

Respuesta

19

Supongo que todavía puede hacer el etiquetado directamente en el repositorio sin tener que actualizarse a una revisión en particular.

hg tag -r 13 tagname

ver los detalles en Mercurial wiki.

He intentado probar que:

temp $ hg init . 
temp $ touch a.txt 
temp $ hg add a.txt 
temp $ hg commit -m "added a" 
temp $ hg status 
temp $ echo "sdwwdd" >> a.txt 
temp $ hg commit -m "modified a" 
temp $ echo "\neddwedd" >> a.txt 
temp $ hg commit -m "modified a again" 
temp $ hg log 
changeset: 2:ef40a402fdab 
tag:   tip 
user:  "xxxx" 
date:  Fri Dec 23 16:51:48 2011 -0800 
summary:  modified a again 

changeset: 1:d630dc3e2e3a 
user:  "xxxx" 
date:  Fri Dec 23 16:51:31 2011 -0800 
summary:  modified a 

changeset: 0:7c9917f24515 
user:  "xxxx" 
date:  Fri Dec 23 16:51:04 2011 -0800 
summary:  added a 

Salida:

temp $ hg tag -r 1 a.txt a_1 
temp $ hg tags 
tip        3:e3157256098f 
a_1        1:d630dc3e2e3a 
a.txt        1:d630dc3e2e3a 
temp $ hg tag -r 1 all_1 
temp $ hg tags 
tip        4:a643971911d8 
all_1        1:d630dc3e2e3a 
a_1        1:d630dc3e2e3a 
a.txt        1:d630dc3e2e3a 
Cuestiones relacionadas