我正在尝试收集其他人解决以下问题的有效方法。在工作中,我们被迫发布仅希望特定客户看到的软件补丁(安装在最终用户系统上)。定制代码位于其自己的源代码控制分支中。问题是我们有两条并行的代码行(和构建脚本)保持同步,并且每次我们修补原始代码时,我们都必须修补和测试客户特定的代码。
我很好奇,其他组织如何处理这种情况?我们向业务解决方案开放,而不仅仅是技术(与源代码控制相关)解决方案。例如,我们已经讨论过告诉客户他们无法在该分支上接收更新。
我们的分支策略是这样的(基于Visual Studio TFS分支指南,尽管我们正在使用Subversion)
svn
意味着他们不会使您的正常工作流程变得混乱。如果补丁队列看起来有用,可以使用git-svn或hgsubversion尝试。使用DVCS前端来简化棘手的工作流程svn
甚至可能会鼓励人们考虑转向DVCS批发,以获得所有其他好处。
hg
或者git
我可能建议您使用补丁队列(Mercurial Queues Extension或Stacked Git),但我不知道TFS是否具有类似功能。