Svn 当一个';分行';永远不会合并

Svn 当一个';分行';永远不会合并,svn,merge,Svn,Merge,以下是场景: 我们有一个源代码树,其中有多个开发人员在任意给定的时间处理多个分支 我们还有一个源代码树的“自定义”副本,其中的差异将(几乎)永远不会回到主源代码。这方面的发展是持续的,但与主要分支相比变化要小得多 自定义版本需要与主源中的更改保持最新,同时保持其自定义 目前我们处理这一问题的方式如下: 主版本(称为1.2b)是从主源代码树分支而来的。自定义版本(称为1.2b.Custom)是1.2b的分支。以前自定义版本(1.2a.custom)的更改合并到1.2b.custom中。根据需要,将

以下是场景:

我们有一个源代码树,其中有多个开发人员在任意给定的时间处理多个分支

我们还有一个源代码树的“自定义”副本,其中的差异将(几乎)永远不会回到主源代码。这方面的发展是持续的,但与主要分支相比变化要小得多

自定义版本需要与主源中的更改保持最新,同时保持其自定义

目前我们处理这一问题的方式如下:

主版本(称为1.2b)是从主源代码树分支而来的。自定义版本(称为1.2b.Custom)是1.2b的分支。以前自定义版本(1.2a.custom)的更改合并到1.2b.custom中。根据需要,将1.2b中的更改合并到1.2b.custom中

冲洗,重复,当前运行到第10个?自从我来这里以来,我一直在重复这个

这是“正常”的——但它会导致很多合并冲突,每次我们创建一个新的自定义版本。它还具有历史记录“丢失”的效果—查看1.2b.custom分支上文件的历史记录会显示1.2b.custom更改、1.2a.custom合并的历史记录,但不会显示1.2a.custom分支上的实际提交。此外,它还限制了对自定义分支进行更改的能力,因为没有地方可以对自定义内容进行并行开发(即:在下一版本中处理主干,同时在当前版本中维护/修复bug)

我在寻找如何更好地处理这一问题的建议。我的一个想法是选择一个点并将定制“分叉”到它自己的主干中,合并来自main(分支或主干)->定制主干的更改仍然会有问题,但我认为这“修复”了历史,并允许对定制进行并行开发。我可以浏览的其他想法或资源


谢谢。

听起来您应该将主树视为提供源代码的供应商。subversion项目已经知道了如何管理它。

这里只是头脑风暴,如果这与OP或已经提议的内容相同,请道歉

这似乎是它应该如何工作的:

^ ^ | release | |______|______| | | | | | release | |______|______| | | | | | | trunk custom ^ ^ |释放| |______|______| | | | | |释放| |______|______| | | | | | | 行李箱定制
发布版由主干代码和自定义分支代码组成,每个代码在发布后都将继续存在。

不完全如此。这些版本是独立的,它们被部署为不同的应用程序。两者都存在,但作为不同的产品。