2011-12-24 15 views
16

Dosyalarımın bir sürüm etiketiyle etiketini ve eski sürümlerini eklemeyi unuttum. Eski versiyon r13'te, en son r65'le ilgili. En son depoyu yeni bir dizine klonladım, etiketlemek istediğim eski kodu almak için bir "hg update -r13" yaptım, daha sonra tag komutunu aldım, ama şu mesajı aldım:Mercurial, eski dosyaların nasıl etiketleneceği

İptal: Bir şube başında değil (zorlamak için -f'yi kullanın)

Bu durumda -f seçeneğini kullanmak güvenli midir?

cevap

19

Sanırım kendinizi belirli bir revizyona güncellemeden etiketleme hakkını repoda yapabilirsiniz.

hg etiketi etiketadı 13 -r

Mercurial wiki ayrıntılara bakın.

Ben onu test çalıştı:

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 

Çıktı:

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