不幸的是,我并不完全清楚SVN是如何工作的......
我有一个主干用于我的主要Visual Studio C#解决方案,以及一个分支,用于开发工作。 一次又一次,需要在两者中进行更改,以便代码完全相同。我已经看过Merge向导,但它似乎没有描述这个问题。它似乎允许我合并特定的修订号,其中可能包含对其他文件的更改,而不是考虑基于每个文件的合并。
我该怎么做?
答案 0 :(得分:2)
可以在文件上运行“Merge”命令。您需要确保“Merge From”值指向右侧分支中的文件(即,包含您想要获得更改的文件)。您会注意到合并向导将列出该文件的所有修订。您现在可以安全地选择修订版本(可能包含对其他文件的更改),因为只有对文件的更改才会合并到您的工作副本中。
请记住在合并后构建/测试工作副本,然后将更改提交回存储库。
您还可以通过选择“所有符合条件的版本”选项来利用“Merge Tracking”功能(SVN 1.5+中提供)。
我建议将AnkhSVN配置为使用外部合并工具(通过Visual Studio中的工具>选项>源代码管理> Subversion用户工具)。
答案 1 :(得分:1)
执行此操作的最佳方法是在trunk中进行更改,并从trunk更改为dev分支。
更复杂的版本(在编写此代码时保护主干安全)是从trunk创建另一个分支来表示常见的“更改”(Service Pack分支)。进行更改并在Service Pack分支中测试它们,然后合并回到trunk。然后从主干向下合并到你的开发分支。