我的经理希望我将Subversion主干中的一些特定功能移到我们几个月前用于测试版的分支。
这是一个使用WinForms的多项目VS2008解决方案。其他项目主要是支持主项目的DLL,主要是UI代码。
我们同时使用Ankh和Tortoise。
所有项目都有多处更改,但我只想将部分更改合并到分支中。
我一直在使用TortoiseMerge,合并我的主要表单,编译,然后根据编译错误合并相关项目,但是进展非常缓慢。
我遇到的问题:
有关更好的方法的任何建议吗?
答案 0 :(得分:1)
如果您可以访问命令行,则可以尝试通过指定包含您需要移动的特定功能的最小和最大修订版,使用svn diff
从每个分支(或主干)生成修补程序。
这些补丁(可能)不会自动应用于目标分支,但返工量将最小化。当然,您应该从最古老的功能开始,然后按照自己的方式工作。
修改强>
我有另一个想法/建议。您可以将beta目标分支的内容与主干上的内容同步,然后停用老板在beta分支上不需要的功能。它可能意味着比通过补丁移动功能补丁更少的工作。
答案 1 :(得分:1)
经过大量的SVN合并后,我得出结论,我最好的方法是手动将我想要的功能合并到beta分支。
似乎是完全控制流程的最佳方式,只能获得我想要的更改。
Winforms .designer.cs文件是最大的问题。当您添加新控件时,VS设计器会移动很多东西,这会在尝试合并时产生各种冲突,这很难解决。
修改强>
这是我最终做的事情:
一旦我找到基本方法,它就会非常顺利。