我的脑海中有这样的发布流程:
One purposes.
trunk分支-它可能有针对功能的子分支,而other 分支是stable -它代表trunk的production.stable中,并且这种多重合并的最终修订版将是一个新的stable版本。有一个选项-使用一些外部工具来跟踪版本修订所属的版本,或者将此信息写入提交消息中-但我不喜欢它们,因为我想将此信息存储在DVCS中,而不依赖于任何外部软件进行发布管理。
所以我的问题是:
发布于 2013-09-03 03:09:35
这在mercurial中相对容易做到,在Mercurial中,一个命名分支可以有多个头,但在git或mercurial中,您可能更好地使用一个名为'release_candidate‘的分支,您可以将您认为是发布候选的任何功能分支合并到其中。然后TPTB将'release_candidate‘合并到’稳定‘或者不合并,如果他们不这样做,你只需要用被拒绝的候选版本的可接受子集创建一个新的发布候选版本--你总是可以创建一个新的分支,并只将你想要的合并到其中。
发布于 2013-09-03 04:39:00
它到底是不是一个好方案?
不是的。在无用的实体中单独的“稳定”分支,只有额外的麻烦(至少在Mercurial和Git中),在“主干”中标记将会起作用。
有没有这样的工具用于任何流行的DVCS,用于批量标记修订?
没有(至少我不知道这样的工具)。但是(对于Mercurial,f.e)它是完全不需要的:使用一些revset的魔力,你总是可以得到“跟踪repo/修订属于哪个版本的/tag”。
https://stackoverflow.com/questions/18571866
复制相似问题