多发布分支问题
问题描述:
我是svn的新手。我们从收获中迁移到svn。 我们一次处理3个不同的版本。所以我们正在考虑从树干上复制3个分支,然后在它们上面进行平行工作。主干上没有发展。 树干将持有任何生产。多发布分支问题
假设我们有REL120,REL121,REL122分支。 REL121由REL120创建,REL122由REL121创建。 每当有承诺REL120,我们合并在REL121和REL122 每当有REL121提交这一变化,我们合并在REL122
,当我们的船REL120到生产,我们合并树干REL120
这是分支的好方法吗?或者在这方面可以改进一些东西。请分享你的想法。
Vadiraj
答
该方法没有问题。
虽然,我会建议您尽量不要频繁地合并代码并将代码合并到树中。例如;
这是你的仓库的逻辑结构
|- trunk
|- branches
|- Release 120
|- Release 121
|- Release 122
现在,每当你需要合并的的chanegs发行122,他们应该合并一路主干...首先,到推出121,然后释放120然后躯干(考虑到120 推出从主干分支出来)
理想情况下,合并应该沿树(从子分支到父)而不是相反。
P.S.这三个版本是不相互依赖的,那么就没有必要创建这样一个层次结构。然后从树干单独分支。
感谢您的回答。 REL120和REL122中的变化应该在REL120中出现。但REL121中的更改不应出现在REL120中,或者REL122中的更改不应出现在REL121中。首先释放REL120,然后释放REL121,然后释放REL122。可能发生的情况是,REL120,REL121,REL122中的更改可能全部位于不同的模块中,甚至模块可能会发生冲突。但REL121应始终包含对REL120中的模块所做的更改,而不管REL121更改是否在该模块中。那么,你建议我们从树干做出所有分支吗? – vadiraj 2011-06-09 08:14:01
是的,在这种情况下,我会建议你先从干线分出Rel 122,然后再分别从Rel 119和120分出。因为,如果我们从逻辑上看,你在PROD首先推出第120版,但它仍然是儿童分支(在开始时创建)正在开发中。这会造成不稳定。显然,如果版本121意在成为版本120的补丁,那么它应该在120版本生效之后分支出去。或者,相反......你可以从trunk中创建单独的分支,然后根据需要在它们之间进行合并 – Arpit 2011-06-09 08:47:59
这意味着开发不会发生在trunk trunk上?当我们将120运送到生产时,我们应该将它与后备箱合并,这样后备箱就会有生产中的任何东西。根据需要在分支之间进行合并。我对吗? – vadiraj 2011-06-10 04:56:34