我想到了这样的发布工作流程:
- 一个分支是trunk
分支 - 它可能具有用于特征和其他目的的子分支
- 第二个分支是stable
- 它代表生产的发行版
- trunk
的修订版本标记了版本的版本。如果我想发布 - 我必须为发布版本指定一个或多个更改集,然后将它们合并到stable
,并且此多合并的最终修订版本将是新的stable
版本。 BR />
有一个选项 - 使用一些外部工具来跟踪版本修订所属的跟踪,或者在提交消息中写入此信息 - 但我不喜欢它们,因为我想将这些信息存储在DVCS中,而不是依赖于任何外部软件进行发布管理。
所以我的问题是:
- 这完全是好计划吗?
- 是否有适用于任何流行DVSC的工具,用于批量修改版本?
答案 0 :(得分:0)
这在Mercurial中相对容易,你可以为命名分支设置多个头,但是在git或mercurial中,你可能最好使用一个名为'release_candidate'之类的分支,你可以在其中合并任何功能您认为是发布的候选分支。然后TPTB将'release_candidate'合并为'stable'或不合并,如果他们不合并你只是创建一个新的候选发布候选人与被拒绝的候选人的可接受的子集 - 你总是可以创建一个新的分支,只合并你的想要进入它。
答案 1 :(得分:0)
这是一个好的计划吗?
没有。在无用的实体中单独的“稳定”分支只有额外的头痛(至少在Mercurial和Git中),在“trunk”中标记将起作用
是否有适用于任何流行的DVCS的工具,用于批量修改版本?
否(至少我不知道这样的工具)。但是(对于Mercurial,f.e)它根本不需要:有了一些revset的魔力,你总能得到“跟踪repo / revisions中的哪个版本/标签属于”