2011-04-15 15 views
5

Aynı adla bir şube ve etiket oluşturdum: 0.2.0. Birleşme ile ilgili bazı problemlerle karşılaştım, ama bunları aşmayı başardım, -r kullanarak ve açık bir revizyon sağladım. Yani benim ne yapacağım sorusu değil. Daha ziyade bilmek isterim: Yeni bir versiyon üretildiğinde, bir dal ve bir etiket için farklı isimlere sahip olması öneriliyor mu? Bu etiketler ve dallar için standart isimler var mı?mercurial: branşta çakışmalar var

cevap

8

Ben, mesela böyle devam 1.0, 2.0 ve sürüm numaralarıyla kod etiketi olacaktır. Bakım dalları için ben kullanırım 1.x, 2.x vb

1.1 etiketi sonra 1.x dalda yapılacak ve 1.0 değişiklik kümesi 1.x dalı için çatal noktasıdır. Bir 1.1 hata düzeltme yayımlamanız gerektiğinde, yalnızca 1.x dalını oluşturduğunuzdan bu dalda değildir.

Son olarak, bir etiketi ve bir dal arasında ayrım revset language kullanabilirsiniz:

$ hg log -r 'branch(foo)' 
$ hg log -r 'tag(foo)' 
+0

Güzel, teşekkürler, bu akılda tutmak gerekir. – gruszczy

+0

Bu, mercurial belgelerindeki herhangi bir yerde saklı mı? – kikeenrique

3

default istisnası dışında, Mercurial'da dallar veya etiketler için standart adlar yoktur. Şube/etiket adlandırma düzeniniz geliştirme süreciniz tarafından belirlenir.

Adlandırılmış bir dal için aynı adı kullanmayı düşünmüyorum ve etiket iyi bir fikirdir. Tipik olarak hg update <name>'u çalıştırabilirsiniz ve <name> ya bir adlandırılmış şube veya bir etiketle eşleştiğinde Mercurial ismi çözecek ve sizi oraya götürecektir. Ancak, hem bir dalı hem de aynı ada sahip bir etiketiniz varsa, ikisi arasında ayrım yapmanın bir yolu yoktur ve sizi bir tanesine götürür. Tabii ki, revizyonu açıkça belirtebilirsin, ama bu tür isimleri kullanmanın kolaylığını yener. senin gibi