我目前正在使用subversion来管理我的源代码,并且我已经到了需要为客户标记我正在开发的软件的地步。所有的品牌推广都是在项目资源中处理的,所以改变客户的外观非常简单。我遇到的问题是在源代码库中维护软件的品牌版本。现在它是一个单独的分支,但当尝试将更改从主干合并到品牌分支时,它会很高兴地覆盖品牌资源文件。
什么是维护这些差异的好方法,同时仍然能够轻松地检查为主干构建或使用自定义资源文件的构建构建版本所需的一切?
发布于 2008-10-16 01:36:16
您可以使品牌重新发布一个单独的repo,它使用香草分支作为外部分支。
另一种方法是将所有内容都保存在单个分支中,并让构建过程来选择要使用的特定于品牌的文件。
发布于 2008-10-16 01:37:34
你需要将品牌包装作为核心技术的包装,这是我所知道的所有其他项目都是这样做的。
然而,如果你从一开始就没有这样考虑这个项目,你可能需要一到两周的时间来重构一切。
理想情况下,你不应该需要分支,但无论如何,拥有它是一个好主意,只是为了合理的工程原则和保护你的客户代码的稳定性。如前所述,标记应该是可以在编译时或运行时使用某种打包完成的事情。
发布于 2008-10-16 01:35:14
标记应该是顶层项目,将项目的核心部分作为子项目(或依赖于您的项目继承模型)。在subversion中,您可以使用外部将核心产品源代码包含在顶层产品中,也可以构建核心产品并使用顶层项目创建最终的“程序集”。
https://stackoverflow.com/questions/207131
复制相似问题