多个发布分支--合并或版本不可知的内容(与软件依赖性有关)

问题描述 投票:0回答:0

我们有一个大的SW项目,目前在SVN repo中,要同时维护多个发布分支。

目前,我们有一个代码库和一个单独的图形资产和翻译库。最终产品高度依赖于资产和翻译(法规)。

大多数时候,我们将代码分支创建为 "长期支持服务分支",在那里,代码是稳定和测试的--而开发则继续在主要的版本分支上进行(基于主干的开发).这导致了很多从LTSB到开发的合并,反之亦然。

这只是针对代码部分,因为我们还需要维护资产分支,所有的代码变化都要应用到这个分支上。

开发人员--维护代码分支

设计师&翻译 - Maitain资产分公司

分支机构实例

由于代码和资产的分离,所有的分支都 "复制 "在单独的仓库中。

trunk
--trunkLTSB1
--trunkLTSB2
MajorRelease1.0.0.0
--MajorRelease1LTSB1.1.0.0
--MajorRelease1LTSB1.2.0.0
MajorRelease2.0.0.0
--MajorRelease2LTSB2.1.0.0
--MajorRelease2LTSB2.2.0.0

有时我们需要修复LTSB和MajorRealease多个分支上的bug,导致一个修复被合并了5、6、7次(简直就是合并地狱)。

现在我们有一个XML文件,在我们的SW中定义HowToHelp屏幕。文件中的每个节点都取决于设置,关于SW配置,这些HowToHelp屏幕会显示给最终用户.还有这个XML的依赖翻译文件。而对于XML中的一些节点,我们依靠代码中的函数来渲染。

例子

如果启用了功能X,我们会在帮助部分显示该功能的HowTo。我们可以调用FooBar()函数来渲染合成图形,使用assets分支中的图像。

功能功能行为可以在不同的分支之间有所不同,设置也可以在不同的分支之间有所不同.图像可以在分支之间改变。

问题

由于我们在合并和支持多个分支时已经遇到的所有问题,我们不确定如何对这个XML文件和依赖的翻译进行版本调整,目前XML和翻译将存放在Asstes仓库中,只有一个人在积极工作(提交)。

我们正在评估两种可能的选择,如何版本XML文件。

1. 版本不可知每个XML节点将定义它所兼容的特定版本(branchreleases)--所以我们最终在一个分支上使用一个XML文件(翻译),而在 "相同 "的功能上使用多个分支依赖的节点。

2. 分支每个资产分支都有自己的XML文件和翻译,工作的人负责合并到LTSB和MajorBranches--如果需要的话。

大部分的开发都是在最新的主要发布分支上完成的,偶尔也会在其他分支上完成.是否值得在XML中实现和维护内部版本,或者只是坚持合并--考虑到维护XML的人并不是开发人员.哪种选择更好--或者有其他更好的选择?

P.S. 我们将在短期内把repos迁移到GIT。

xml git merge version-control branch
© www.soinside.com 2019 - 2024. All rights reserved.