在Eclipse中进行Subversion合并的正确方法是什么?
我非常习惯于如何在Eclipse中进行CVS合并,另外我对Subclipse和Subversive在SVN存储库中的工作方式也很满意,但我不太确定如何正确地进行合并 当我进行合并时,它似乎希望将合并的文件粘贴到项目中的单独目录中,而不是像我在CVS中习惯的那样,覆盖合并中要替换的旧文件 这个问题不是特别针对下流分子或颠覆分子的在Eclipse中进行Subversion合并的正确方法是什么?,eclipse,svn,merge,subversive,Eclipse,Svn,Merge,Subversive,我非常习惯于如何在Eclipse中进行CVS合并,另外我对Subclipse和Subversive在SVN存储库中的工作方式也很满意,但我不太确定如何正确地进行合并 当我进行合并时,它似乎希望将合并的文件粘贴到项目中的单独目录中,而不是像我在CVS中习惯的那样,覆盖合并中要替换的旧文件 这个问题不是特别针对下流分子或颠覆分子的 谢谢你的帮助 我通常签出两个分支,然后使用“相互比较”选项,该选项对两个源树进行类似同步的比较。将更改集成到一个分支后,您可以重新提交回存储库。我建议不要尝试使用Ecli
谢谢你的帮助 我通常签出两个分支,然后使用“相互比较”选项,该选项对两个源树进行类似同步的比较。将更改集成到一个分支后,您可以重新提交回存储库。我建议不要尝试使用Eclipse的插件作为对Subversion的主要访问 如果您是在Windows上开发的,那么TortoiseSVN是我见过的用于Subversion访问的最好的程序。浏览到要合并的目录,右键单击该目录并使用Tortoise SVN合并选项。假设采用非交互式合并,一旦发生冲突,您必须遍历每个冲突文件并编辑冲突,然后再将其标记为已解决。对于这个过程,我推荐一个名为KDiff3的程序,它显示本地存储库副本(合并前存储在.svn中的内容)、本地副本(包括任何更改)和来自存储库的副本,并允许您轻松查看(甚至在需要时手动修改)合并的结果。它还自动处理一系列小冲突
KDiff3是可移植的,TortoiseSVN是一个windows shell扩展,所以如果您使用的是另一个环境,我会尝试使用SVN进行合并。但这将是一个更痛苦的问题:)使用Eclipse集成,它工作得非常好 CVS的主要变化是只合并分支中的增量,即从一个修订版更改为另一个修订版。 也就是说,您必须以某种方式跟踪正确的开始版本(除非您有svn 1.5合并历史记录)
如果你做对了,那么只有你自己才能使用比较编辑器正确地进行更改。记住,使用svn将修改过的树恢复到干净状态是相当容易的。只需在合并目标分支上有一个干净的工作区,并运行merge命令从合并源分支导入修改,然后同步工作区,您将获得通常的eclipse比较窗口,其中显示所有合并修改的文件和冲突 如果由于某种原因无法解决冲突,您可以在项目上恢复svn并返回到干净状态,否则您可以就地执行合并,完成后即可提交。请注意,您不必提交,一旦处理完冲突,您还可以返回到dev视图,验证代码是否编译,运行单元测试,然后再次同步并提交(一旦本地解决了冲突,它们就不会回来) 上次我查看时,当使用subclipse merge命令时,它将覆盖合并文件(使用冲突标记显示冲突区域),并将合并的原始左侧和右侧放在同一位置。它不应该把任何东西放在不同的目录中
根据经验,最好在一次提交中提交所有合并修改,并且只在提交中包含合并修改,以便以后可以在需要时回滚合并。将整个分支合并到主干中
- 默认情况下,Eclipse团队“History”仅显示过去的25个修订版本,因此您必须单击该视图中标记为“Show All”的按钮
- 当你说“全部显示”时,它会带你回到分支日期之前,并向你显示主干的所有历史记录,因此你必须在你分支的地方搜索你的评论
- 注意:如果您将Tortise SVN用于同一任务(导航到分支并选择“显示日志”),它将仅显示分支历史,以便您可以准确地知道分支的起始位置
- 选择要合并的分支的URL
- 在“修订”下选择“全部”
- 按OK
- 为了便于讨论,我们假设这个版本是82517
- 选择要合并的分支的URL
- 在“修订”下选择“修订”单选按钮,然后单击“浏览”
- 这将打开最新的25个分支修订的列表
- 选择数字大于82517的所有修订
- 按OK(您应该在单选按钮旁边的输入字段中看到修订列表)
- 按OK