如何解决Eclipse Subclipse中的冲突

时间:2010-07-15 20:52:31

标签: svn subclipse

使用Subclipse和SVN 1.6

当您与存储库同步视图时,您会收到冲突的文件,您可以手动编辑它们。但有时候,你不小心更新了,获得了很多版本的文件。例如:

File.source
File.source.mine
File.source.r5875
File.source.r6150

我想了解这些文件背后的逻辑,以及Subclipse提供哪些工具来比较这些文件。 File.source是否已与任何修订合并? .mine文件是仅包含我更改的文件吗?

由于

2 个答案:

答案 0 :(得分:7)

使用您发布的示例文件:

File.source.r5875 这是您在修改之前检查过的修订版。

File.source.r6150 这是存储库中与您的本地修改冲突的修订版。这应该是最新版本,因为您刚刚进行了更新。

File.source.mine 这是您执行更新之前的本地版本。所以这个文件会有你的修改。

File.source 这是“冲突”版本,包括您的修改以及r6150的修改。冲突部分由“>>>>>>>”分隔“======”和“<<<<<<”

标准的eclipse比较工具允许您比较不同的版本。选择其中两个文件,右键单击并选择“Compare With”>菜单中的“彼此”。

通过将File.source.r5875与File.source.mine进行比较,您可以识别出已更改的内容。

通过将File.source.r5875与File.source.r6150进行比较,您可以确定自上次更新以来存储库中发生了哪些更改。

答案 1 :(得分:0)

当svn遇到冲突时会发生这种情况:您更改了文件,服务器上的文件已更改,无法(轻松)自动合并。 现在需要确定什么是正确的解决方案。

Subversion只是将diff添加到源文件中(并在其旁边创建文件,名为OriginalName.mine(未更改)和OriginalName.rsomething(未更改,服务器版本))。

解决冲突并告诉subversion这是已解决的

1)只需保存您在文件中编辑的本地更改

2)还原文件

3)从SVN更新它

4)粘贴您的本地更改