Mercurial, как пометить старую версию файлов - PullRequest
16 голосов
/ 24 декабря 2011

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

abort: не в головке ветви (используйте -f для принудительного ввода)

Безопасно ли использовать в этом случае параметр -f?

1 Ответ

19 голосов
/ 24 декабря 2011

Полагаю, вы все еще можете делать пометки прямо в репозитории, не обновляя себя до определенной ревизии.

hg tag -r 13 tagname

Подробности см. На 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
...