我已经习惯了如何在Eclipse中进行CVS合并,而且我对Subclipse和Subversive使用SVN存储库的方式感到满意,但我不太确定如何正确地进行合并.
当我进行合并时,它似乎想要将合并的文件粘贴在我的项目中的单独目录中,而不是覆盖合并中要替换的旧文件,就像我在CVS中习惯的那样.
这个问题并不特别针对Subclipse或Subversive.
谢谢您的帮助!
将整个分支合并到主干中
检查分支项目历史记录以确定从中获取分支的版本
默认情况下,Eclipse Team"History"仅显示过去的25个修订版,因此您必须单击该视图中标记为"全部显示"的按钮
当你说"显示全部"时,它将带你回过分支日期并显示干线的所有历史记录,所以你必须在分支的地方搜索你的评论
注意:如果您使用Tortise SVN执行相同任务(导航到分支并选择"显示日志"),它将仅显示分支历史记录,以便您可以准确分辨分支开始的位置
所以现在我知道82517是分支历史的第一个版本ID.因此,82517之后的所有分支版本都有我要合并到trunk中的更改
现在转到Eclipse工作区中的"trunk"项目并选择"右键单击 - 团队 - 合并"
默认视图是1 url合并
选择要合并的分支的URL
在"修订"下选择"全部"
按确定
这将带您进入"团队同步"视角(如果不是,您应该自己去那里)以解决冲突(见下文)
将更多分支更改重新合并到主干中
检查主干项目历史记录以确定您上次合并到主干的时间(您应该对此进行评论)
为了争论,我们说这个版本是82517
所以现在我知道分支中任何大于82517的版本都需要合并到trunk中
现在转到Eclipse工作区中的"trunk"项目并选择"右键单击 - 团队 - 合并"
默认视图是1 url合并
选择要合并的分支的URL
在"修订"下,选择"修订"单选按钮,然后单击"浏览"
这将打开最新的25个分支修订列表
选择数字大于82517的所有修订版本
按OK(您应该在单选按钮旁边的输入字段中看到修订列表)
按确定
这将带您进入"团队同步"视角(如果不是,您应该自己去那里)以解决冲突(见下文)
解决冲突
您应该处于"团队同步"的角度.这看起来像用于提交目的的任何常规同步,其中您看到新文件和有冲突的文件.
对于您看到冲突的每个文件,选择"右键单击 - 编辑冲突" (不要双击该文件,它将调出提交差异版本工具,这是非常不同的)
如果你看到"<<<<<<< .working"或">>>>>>> .merge-right.r84513"这样的东西,那么你的编辑模式是错误的
解决该文件中的所有冲突后,告诉文件"标记为已合并"
一旦所有文件都没有冲突,您就可以同步Eclipse项目并将文件提交到SVN