使用Subclipse和SVN 1.6
当您与存储库同步视图时,您会收到冲突的文件,您可以手动编辑它们。但有时候,你不小心更新了,获得了很多版本的文件。例如:
File.source
File.source.mine
File.source.r5875
File.source.r6150
我想了解这些文件背后的逻辑,以及Subclipse提供哪些工具来比较这些文件。 File.source是否已与任何修订合并? .mine文件是仅包含我更改的文件吗?
由于
答案 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)粘贴您的本地更改