我创建了一个名称相同的分支和标记:0.2.0。我遇到了一些合并问题,但设法克服它们,使用-r并提供显式修订。所以这不是我的问题。相反,我想知道:当生成新版本时,是否建议为分支和标记使用不同的名称?这些标签和分支是否有任何标准名称?
答案 0 :(得分:8)
我会像您一样使用版本号标记代码,例如1.0
,2.0
等等。对于维护分支,我会使用1.x
,2.x
等
1.1
分支将在1.x
分支上生成,1.0
变更集是1.x
分支的分叉点。它不在分支上,因为您只需在创建1.x
错误修复版本时创建1.1
分支。
最后,您可以使用revset language来区分标记和分支:
$ hg log -r 'branch(foo)'
$ hg log -r 'tag(foo)'
答案 1 :(得分:3)
除了default
之外,Mercurial中的分支或标签没有标准名称。您的分支/标记命名方案将由您的开发过程决定。
我不认为对命名分支使用相同的名称,而标记是个好主意。通常,您可以执行hg update <name>
,只要<name>
与命名分支或标记匹配,Mercurial就会解析该名称并将其带到那里。但是,如果你同时拥有一个分支和一个同名的标签,它就无法区分两者,并且会带你到一个。当然,您可以明确指定修订版,但这种方法会破坏使用名称的便利性。