2011-04-15 97 views
5

我创建了一个分支和标签,其名称相同:0.2.0。我遇到了一些合并问题,但设法克服了这些问题,使用了-r并提供了明确的修订。所以这不是我的问题该怎么做。相反,我想知道:是否建议在生成新版本时为分支和标签提供不同的名称?这些标签和分支是否有标准名称?mercurial:分支与标签冲突

回答

8

我会用像你这样的版本号来标记代码,例如1.0,2.0等等。为了维护分支我会用1.x2.x

1.1标签然后将在1.x分支制成,并且1.0变更为叉点,为1.x分支。它不在分支上,因为当您需要制作1.1修补程序版本时,您只创建了1.x分支。

最后,你可以使用revset language标签和分支来区分:

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

尼斯,谢谢,我会记住这一点。 – gruszczy 2011-04-19 12:17:34

+0

这隐藏在任何地方的mercurial文档? – kikeenrique 2016-03-10 17:25:47

3

除了default之外,Mercurial中没有分支或标签的标准名称。您的分支/标签命名方案将由您的开发过程决定。

但是,我不认为使用同名的命名分支和标签是一个好主意。通常,您可以执行hg update <name>,只要<name>与指定的分支或标签匹配,Mercurial将解析名称并将您带到那里。但是,如果你有一个分支和一个同名的标签,那么它就无法区分这两者,并会带你到一个。当然,你可以明确指定修订版本,但这种方式不利于使用名称的方便性。