提交时SVN合并冲突

8

Eclipse + Subversive插件

当提交一个与SVN不同步的目录时,会弹出一条消息:

Merge conflict during commit
svn: Commit failed (details follow):
svn: File or directory '.' is out of date; try updating
svn: resource out of date; try updating

尝试从Eclipse导航器视图更新整个项目(右键单击>刷新或F5),但问题仍然存在。

在这种情况下是否有什么可以做的?

6个回答

12

您在Eclipse中混淆了两个不同的操作:

  • 更新(从版本控制)

  • 刷新

"更新"意味着从版本控制系统检索文件的最新版本。 "刷新"只是表示Eclipse将更新其对本地文件系统的视图,以防文件在Eclipse外部发生更改。

您需要执行更新操作(Team->Update)。


8

您应该先更新、解决冲突,然后再次提交。

参见此链接,了解在Eclipse中解决冲突的帮助。


2

有时候使用eclipse+subversion会出现问题,需要一个更加可靠的解决方案:

  1. 将带有更改的代码复制到另一个位置(最好通过复制和粘贴完成)。
  2. 从仓库中获取最新版本并替换(或还原)出现问题的目录。
  3. 再次复制更改的内容(通过剪切和粘贴),然后进行提交。

1
尝试删除 .svn/all-wcprops 文件,也许会有帮助。

0

有人在你之前修改了这个目录。

在提交之前,您需要进行svn更新以获取最新版本。

svn update

或者

right click > Team > Update

刷新或按F5只会重新读取当前已检出的内容并检查本地更改,即在Eclipse之外进行的更改。

svn update命令将远程进行的任何更改(提交)拉到您的工作区。


0

在提交之前,您需要进行svn更新以确保您已完全更新。

svn update

如果更新无法正常工作,您可能需要进行清理。
svn cleanup

如果您正在使用SVN客户端,那么您应该能够在Eclipse之外找到这两个命令。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接