Eclipse:“更新SVN缓存”挂起并锁定

时间:2012-06-18 15:52:36

标签: java eclipse svn subclipse subversive

每次我开始eclipse时,程序都会开始执行此“更新SVN缓存”的事情,但它将永远处于0%。我无法执行任何操作(例如检查我的项目,构建它们,甚至运行它们),直到此操作完成(从未发生过)。此外,每当我尝试在编辑器中输入任何内容时,整个程序就会冻结,我必须终止这个过程。

我几天来一直在谷歌搜索这个问题的答案,但还没有得到答案。还有其他人遇到类似的问题并找到解决方案吗?

我想补充说我已经尝试过从头开始重新安装eclipse,它的所有插件和jdk。似乎没什么用。

15 个答案:

答案 0 :(得分:18)

我遇到了同样的问题,我试图通过在Eclipse中禁用SVN的大部分性能设置来解决这个问题:

  • Windows>偏好>团队> SVN>性能
  • 禁用:计算深度传出状态,缓存,持久SSH

SVN Performance Settings in Eclipse

答案 1 :(得分:9)

我刚遇到这个问题并且能够解救它。这是在Juno上的Zend Studio 10.5。我的工作区中有大约五个项目,其中一个是开放的。我无法关闭项目,因为它正在等待“更新SVN缓存”完成。

  • 关闭Eclipse后,我进入了我的打开项目,并通过命令行运行了“svn cleanup”。
  • 在workspace / .metadata / .plugins / org.eclipse.team.svn.core中,我有一堆临时目录。我创建了一个备份tarball,然后将它们全部吹掉。

这没有解决任何问题。最后我试了一下:

  1. 关闭Eclipse后,我转到项目目录并将.project重命名为project.xml。
  2. 重新打开Eclipse,项目已关闭。没有SVN更新消息。
  3. 重启Eclipse。
  4. 打开了项目,但Eclipse拒绝了丢失的.project文件。
  5. 关闭Eclipse。
  6. 转到我的项目目录并将project.xml重命名为.project。
  7. 重启Eclipse。
  8. 打开了项目。一帆风顺。能够在没有事故的情况下进行变更。
  9. 到目前为止,我的工作区/ .metadata / .plugins / org.eclipse.team.svn.core目录仍为空。

    我不知道我尝试过的前两件事是否有帮助,或者只是重命名.project文件来强行关闭项目就是这样。下次它会发生(并且会有下一次)我会尝试强制关闭项目并报告回来。

答案 2 :(得分:6)

你不是唯一一个(见this bug reportthis forum thread)但它可能不是Eclipse本身的错误。后续步骤:

  1. 获取线程转储以查看这是否是死锁或线程正在等待从未发生过的事情(在错误报告中,它会挂起System.loadLibrary())。您可以使用jconsole,它附带SDK。

  2. 检查工作区中的所有打开的项目(使用SVN)和另一个SVN工具(如果你在Windows上,命令行svn或TurtoiseSVN),以确保数据结构没有损坏。

  3. 获取最新版本的Eclipse和/或SVN插件

  4. 尝试使用其他连接器。有些人使用JNI解决方案javahl更好,其他人使用纯Java SVNKit

答案 3 :(得分:5)

在我的情况下,我意识到一个乌龟SVN浏览器相关的窗口是打开的。它可能锁定了缓存,eclipse正在等待解锁。

不是问题的直接答案,但这可能有助于某人犯同样的错误。

答案 4 :(得分:4)

  1. Windows>偏好>团队> SVN>性能
    • 禁用:计算深度传出状态,缓存,持久SSH
  2. 转到偏好设置 - >一般
    • 启用:始终在后台运行
    • 启用:显示堆状态
    • 工作台保存间隔(以分钟为单位):9999
    • 这将显示您在eclipse中的内存使用情况。
  3. 然后编辑您的eclipse.ini文件并将Xms和Xmx值更改为: -launcher.XXMaxPermSize 512m -Xms1024m -Xmx1024m

答案 5 :(得分:3)

我在工作区中拥有两次相同的项目时遇到了这个问题。确保工作区中只有一个副本,这可能有帮助。

答案 6 :(得分:2)

可能是日食记忆问题。在我做这些步骤之前,我遇到了类似的问题:

  • 转到偏好设置 - >一般并把这些值:

Eclipse_Preference_General

这将显示你在eclipse中的内存使用情况。

  • 然后编辑 eclipse.ini 文件并将Xms和Xmx值更改为:

-Xms1024m

-Xmx1024m

查看内存状态。希望它会有所帮助。

答案 7 :(得分:2)

我也遇到了类似的问题,我通过取消选中"计算文件夹的深度传出状态来解决这个问题"在Windows->偏好设置 - >团队 - > SVN->标签装饰

答案 8 :(得分:1)

我在eclipse中发现了一个阻止svn的索引错误。另一个项目资源和svn repo位于.metadata.plugins \ org.eclipse.core.resources.projects \ ProjectName \ 4.tree 和其他资源。

使用'Team>的前一个答案清理svn SVN>表演'并没有解决我的问题。

'eclipse.exe -clean'将使eclipse对100%cpu不负责任。

唯一的解决方案是在退出eclipse之后手动删除org.eclipse.core.resources.projects *文件。

答案 9 :(得分:1)

这个主题帮助我解决了关于我的eclipse svn更新块的问题。

我正在使用这种情况下的日食火星。

  1. 首先,我删除了两个我不需要的项目 - 减少工作区中的项目编号。
  2. 在eclipse.ini中更改参数也没有帮助。
  3. 我的eclipse设置上有-clean参数,所以我也删除了它,希望它能更好地工作。它有点帮助,因此eclispe的运行时间更长,但不多。 rockfarkas暗示这里。
  4. 最后真正有用的是从项目视图中快速标记所有项目 Ctrl A ,并在SVN缓存仍在运行时通过上下文菜单关闭它们。其中有一半是其他人无法做到的,但之后我可以看到SVN缓存正在改变其状态,所以我可以再次工作。下一步是关闭其余项目并逐个打开。对于这个想法,我来看了user3096856的帖子。

答案 10 :(得分:1)

我解决了这个问题:

- 在工作区中选择项目(或所有项目)(在eclipse中),右键单击,从菜单中选择团队>清理

答案 11 :(得分:0)

在我的情况下,30分钟的时间里只显示了0%。我耐心等待,因为我尝试重新启动eclipse /机器仍然得到同样的事情。 30分钟后,继续我的svn更新操作并成功完成。

有时耐心,有帮助:)

答案 12 :(得分:0)

您使用Maven SCM连接器吗?如果您不需要,请尝试卸载它。 Maven SCM checkout需要SCM连接器,我不使用Maven SCM项目结账,而是使用SubEclipse checkout并使用import existing project将项目转换为maven或从Eclipse的上下文菜单转换为Maven项目选项。

答案 13 :(得分:0)

如果SVN有重复的项目。

  1. 强行关闭日食。
  2. 从文件空间中删除重复的项目。 (例如:C:\ Users \ XXX \ Workspace \ DuplicateProject)
  3. 重启日食
  4. 固定。

答案 14 :(得分:0)

我使用Subversive - SVN Team Provider 3.0.0和SVNKit 1.8.10作为SVN Connctor。 我将SVN Connctor更新到最新版本1.8.11,并修复了它。