2011-12-24 4 views
16

Я забыл пометить и более старую версию своих файлов с тегом release. Старшая версия находится в r13, последняя - о r65. Я клонировал последний репозиторий в новый каталог, сделал «hg update -r13», чтобы получить старый код, который я хотел пометить, а затем выполнил команду тега, но получил сообщение:Mercurial, как пометить старую версию файлов

прерывание: не на головке ветки (используйте -f, чтобы заставить)

Можно ли использовать опцию -f в этой ситуации?

ответ

19

Я думаю, вы все равно можете пометить право на репо, не обновляя себя до конкретной версии.

рт.ст. тег -r 13 тэгом

Смотрите подробности в Mercurial wiki.

Я попытался тестирования:

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 

Выход:

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 
Смежные вопросы