【问题标题】:How to solve conflicts in Eclipse Subclipse如何解决 Eclipse Subclipse 中的冲突
【发布时间】:2010-07-15 20:52:30
【问题描述】:

使用 Subclipse 和 SVN 1.6

当您将视图与存储库同步时,您会得到冲突的文件,您可以手动编辑它们。但有时,您会意外更新,获得很多版本的文件。示例:

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

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

谢谢

【问题讨论】:

    标签: svn subclipse


    【解决方案1】:

    使用您发布的示例文件:

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

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

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

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

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

    通过将 File.source.r5875 与 File.source.mine 进行比较,您可以确定您所做的更改。

    通过比较 File.source.r5875 和 File.source.r6150,您可以确定自上次更新以来存储库中发生了哪些变化。

    【讨论】:

      【解决方案2】:

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

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

      修复冲突并告诉 subversion 这已解决

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

      2)还原文件

      3) 从 SVN 更新它

      4)粘贴您的本地更改

      【讨论】:

      • 注意:确保只将更改粘贴到恢复的文件中。如果您粘贴更改文件的全部内容,SVN 将假定您已删除远程文件中的所有添加内容。
      猜你喜欢
      • 2020-10-07
      • 2013-09-13
      • 2011-05-08
      • 1970-01-01
      • 2011-05-12
      • 2018-05-15
      • 2012-01-09
      • 2016-02-22
      • 2013-11-09
      相关资源
      最近更新 更多