2012-06-18 19 views
33

每次启动eclipse时,程序开始执行“更新SVN缓存”的事情,但它会永远保持在0%。我无法执行任何操作(例如检查我的项目,构建它们,甚至运行它们),直到完成此操作(这从未发生过)。另外,每当我尝试在编辑器中输入任何内容时,整个程序都会冻结,我必须杀死这个进程。Eclipse:“更新SVN缓存”挂起并锁定

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

我想补充一点,我试过从头开始重新安装eclipse,它的所有插件和jdk。似乎没有任何工作。

+1

是啊,这不是解决了这个完全取决于我 – imnotfred

+1

你知道你可以告诉Git与SVN交谈吗?那么你可以为自己使用Git,但似乎仍然使用SVN? –

+1

嗯。我似乎修复了它。我更新到Subclipse的最新版本,我不再有问题了。 – imnotfred

回答

6

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

  1. 获得线程转储,看看这是否是一个死锁或线程在等待的东西,永远不会发生(在错误报告,它挂在System.loadLibrary())。你可以使用jconsole,它附带SDK。

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

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

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

1

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

耐心有时,帮助:)

9

我刚刚遇到了这个问题,并能够解救它。这是Zend Studio 10.5,它位于Juno上。我的工作空间中有大约五个项目,其中一个是开放的。我无法关闭该项目,因为它正在等待“更新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. 打开该项目。一帆风顺。只是能够在没有事件的情况下进行更改。

到目前为止,我的工作空间/ .metadata/.plugins/org.eclipse.team.svn.core目录仍为空。

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

+0

只需'svn cleanup'解决了我的问题。只需要在根项目目录中运行它。谢谢! – pfac

0

您是否使用Maven SCM连接器?尝试卸载它,如果你不需要它。 Maven SCM checkout需要SCM连接器,我不使用Maven SCM项目签出,而是使用SubEclipse checkout并将项目转换为maven,使用导入现有项目或从Eclipse中的上下文菜单转换为Maven项目选项。

3

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

0

如果SVN中有重复项目。

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

我面临着同样的问题,我试图通过禁用大部分性能设置为SVN Eclipse中摆脱这样的:

  • 窗口>首选项>团队> SVN>性能
  • 禁用:计算深待发状态,缓存,持久的SSH

SVN Performance Settings in Eclipse

+3

在开普勒,你可以在团队> SVN>标签装饰菜单中找到它。 '性能'菜单不存在。 – nanospeck

+0

@nanospeck我与Elicpse Oxygen有相同的问题'性能'菜单丢失 –

2

这可能是月食记忆问题。我有类似的问题,直到我做了这些步骤:

  • 转到偏好 - >常规,然后把这些值:

Eclipse_Preference_General

这将显示Eclipse中的内存使用情况。

  • 然后编辑你的日食。INI文件,并更改-Xms和XMX值到:

-Xms1024m

-Xmx1024m

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

1

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

svn清理与'团队> SVN>性能'以前的答案不能解决我的问题。

'eclipse.exe -clean'会使eclipse不负责任的100%cpu。

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

0

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

1

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

我正在使用eclipse mars在哪里出现这种情况。

  1. 首先,我删除了两个我不需要的项目 - 减少工作区中的项目编号。
  2. 在eclipse.ini中更改参数也没有帮助。
  3. 我在我的日食集中进行了清理,所以我也删除了它,希望它能更好地工作。它有一点帮助,所以eclispe运行时间更长,但没有更多。 rockfarkas提示在这里。
  4. 末真正帮助是非常快的标记所有项目Ctrl键从项目视图并通过上下文菜单关闭它们,而SVN缓存仍在运行。其中一半人做了其他人不能做的事,但之后我可以看到SVN缓存正在改变其状态,所以我可以再次工作。下一步是关闭其余的项目并逐一打开。对于这个想法,我读到user3096856的帖子。
3
  1. 窗口>首选项>团队> SVN>性能
    • 禁用:计算深待发状态,缓存,持久的SSH
  2. 转到偏好 - >常规
    • 启用:始终在后台运行
    • 启用:显示堆状态
    • 工作台保存间隔(分钟):9999
    • 这将显示您在eclipse中的内存使用情况。
  3. 然后编辑eclipse.ini文件并更改-Xms和XMX值到: -launcher.XXMaxPermSize512米 -Xms1024m -Xmx1024m
+2

一些解释为什么应该这样做或解决问题将是很好的。 – Eiko

+0

第一组更改:禁用SVN缓存可防止在Eclipse内部进行编辑时(这很常见),从而锁定SVN数据库。它还可以防止在扫描文件系统上检测到的更改时触发Eclipse。 –

+0

第二组更改通过中断您的工作而构建和扫描,因为他们会分到后台。我不会将我的工作台保存间隔设置为9999(可能只是60分钟),但我肯定会将它增加到5以上,因为它非常具有破坏性。 –

1

我解决这样做:

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

+0

这对我有效。谢谢! –

4

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

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

1

我也面临着类似的问题,我得到了它的Windows的下>首选项 - > Team-> SVN->标签装饰品取消选中“的文件夹计算深待发状态”