恢复 Eclipse subversion 项目连接
Posted
技术标签:
【中文标题】恢复 Eclipse subversion 项目连接【英文标题】:Restore Eclipse subversion project connection 【发布时间】:2010-09-15 00:55:30 【问题描述】:我有一个 subversion 项目,我正在使用 Eclipse 进行开发。我从 Eclipse 内部的 svn 存储库中进行了原始签出。几个星期以来一切都很好,然后由于某种未知的原因,Eclipse(特别是:Ganymede 中的 subclipse)不再将我的项目识别为受 svn 控制。团队上下文菜单仅显示基本的“应用补丁”/“共享此项目”菜单选项。在 shell 中,我仍然可以使用 svn 命令行工具更新项目,所以我知道 svn 凭据仍然有效。在同一 Eclipse 副本中 subversion 下的其他项目仍然有效。
我意识到我可以删除本地副本并再次检查它,但我宁愿了解出了什么问题 - 解决问题,而不是掩盖症状。 Eclipse 在哪里存储关于哪些项目受版本控制的知识?我查看了.project
文件和.settings
目录,但没有看到任何明显提及svn 性质或类似内容的内容,即使在仍在正常工作的项目中也是如此。
【问题讨论】:
【参考方案1】:如果您使用 sublipse 作为您的 SVN 提供程序,我建议您执行以下操作
团队 -> 共享项目通常足以连接元数据。
(也就是说,假设 .svn 文件仍然存在,如果您可以在命令行上工作,它们似乎仍然存在)。
希望这有助于我不知道为什么会发生这种情况
【讨论】:
我有同样的问题,但这个答案对我没有帮助。 Eclipse 让我可以在 Subversion 中创建一个新项目。无法重新连接项目。 确认做这件事的方式。 非常感谢您的回答,为我节省了很多时间。现在我终于可以更新我的整个工作集了。 这对我有用(使用 Eclipse Indigo 64 位和 Subclipse),谢谢!我只是想补充一下“假设 .svn 文件仍然存在”的评论可能并不完全正确。也就是说,我很惊讶地看到,尽管我的项目仍然与我的存储库相关联(正如 TortoiseSVN 所证实的那样)项目目录中没有 .svn 目录!我一直认为每个 SVN 控制的目录中都有这样一个目录,但现在我发现事实并非如此。无论如何,OP的观点是,如果目录仍在配置下,那么这应该可以工作,似乎是有效的。 也曾在 Subversive 中工作过...谢谢!【参考方案2】:我找到了一个简单的方法,只需重新导入项目
【讨论】:
你就是那个男人... :) 我只有“应用补丁”选项并且解决了它...为什么我没有想到 :) 是的,重新导入似乎是最简单的 :-) 我也只有“应用补丁”菜单选项。重新导入工作。必须有一个配置文件来确定这一点。回想起来,我希望我已经备份了相关的配置工作区和项目文件/文件夹,这样我就可以看到发生了什么变化。希望下一个阅读此解决方案的人会这样做并分享更改的内容。【参考方案3】:Just doing Team -> Share Project(根据@Paul Whelan 提供的这个问题的答案)对我不起作用。共享项目向导的行为就像该项目尚未在 SVN 中一样(即使我的项目存在 .svn 文件夹)。
我最终通过卸载 Subversive 和 JavaHL 插件解决了这个问题(通过帮助 | 关于 Eclipse | 安装详细信息按钮 | 已安装的软件选项卡 | 卸载...),然后重新安装 Subversive。重启 Eclipse 后出现提示时,我选择安装 SVNKit 连接器而不是 JavaHL 连接器。
完成之后,当我再次尝试 Team -> Share Project... 时,Eclipse 正确识别出我的项目已经存在于 SVN 中,并成功恢复了连接。
【讨论】:
为什么要分享项目?共享项目会将您的本地项目发布到svn服务器,如果您在本地有不应该进入svn机器的东西,这可能会导致问题,他想要做的是重新建立连接,这显然是不可能的,解决方案将是一个新的结帐,最终,安装 subclipse 而不是颠覆性的【参考方案4】:附录:事实证明,当我在公司 *** 之外启动 Eclipse 时,我的问题就出现了,工作空间中的一个项目附加到 *** 内的 svn 存储库。幸运的是,将 Eclipse svn 插件从 subversive 切换到 subclipse 确实解决了这个问题。
伊恩
【讨论】:
【参考方案5】:从 Eclipse 中,我关闭了项目并重新打开,这解决了问题。我工作区中所有项目的所有 SVN 链接都回来了。
【讨论】:
我尝试关闭并重新打开项目,但这对我不起作用。【参考方案6】:我遇到了同样的问题,这个论坛帮助我找到了正确的答案。
我之前的项目是使用 subclipse 配置的。 新的日食具有颠覆性。
安装 subclipse 帮助我找回了团队下的 svn 选项!
希望对其他人有所帮助。
问候
安舒帕特克
【讨论】:
我无法在开普勒中安装 subclipse。有什么解决办法吗?【参考方案7】:不知道你在什么平台上,不知道你的问题是不是和我的类似。但是,我最近(实际上在两个不同的平台上!)遇到了对 Subversive 的更新(或者可能是 Eclipse 本身,不清楚)导致连接器不再加载的问题。没有连接器,Subversive 无法连接到项目。但是 Eclipse 不会因此将您锁定在项目之外,它只会删除与 SVN 相关的功能。
查看错误视图,这是 Eclipse 的各种错误(未找到类异常等)的日志,并查看是否有任何与 Subversive 组件相关的行。不幸的是,我不能真正推荐一个解决方案——在我的 Mac OSX 平台上,重新安装 Subversive 核心元素和连接器就足够了。在我的 Linux 机器上(可能是由于操作系统升级)我不得不完全重新安装 Eclipse,因为我已经积累了太多的杂物,无法对其进行全面调查。
【讨论】:
【参考方案8】:在带有 Subversive 的 Juno 版本中,我做到了:
File/Import 会弹出 Import 弹出窗口。 从那里选择 General/Existing Projects in to Workspace。 在下一个窗格中,选择根目录。然后它会告诉你所有 子目录。默认情况下,它们都会被选中。 取消选择您不想要的。然后它将“导入”您现有的目录,可以就地使用它们已经位于您的工作区目录中。
【讨论】:
【参考方案9】:在我的情况下也是如此:.svn 目录在那里,但我的项目不支持 svn 操作。
经过一番戳,结果发现,颠覆性插件在强制退出 eclipse 后就消失了。
解决方案是(重新)安装颠覆性的,现在一切都很好了。
干杯 五.
更新:我已将 eclipse 切换到一个没有安装插件的新版本,这就是我必须从头开始安装它的原因。
【讨论】:
【参考方案10】:这对我有用: 右键单击-> TortoiseSVN -> 设置-> 图标覆盖属性, 选择 Shell 作为状态缓存。点击确定,刷新页面。
【讨论】:
【参考方案11】:我可以可靠地重现这个问题——它发生在通过运行“签出为 Maven 项目...”而不是在包含 POM 本身的文件夹上,而是在父目录(例如“trunk”)上签出某些 Maven 项目时。在这种情况下,Subclipse 毫无怨言地签出项目,将其放在具有占位符名称(例如 maven.1424425443350
)的工作区目录中。 在这个目录中,它创建了一个名为 Maven 工件的子目录。这会混淆 Subclipse 和 Subversion:正如我们所见,Subclipse 会立即忘记项目处于版本控制之下,如果您从 maven.1424425443350
目录中的命令行调用 svn status
,它会告诉您该目录受版本控制,但所有受版本控制的文件都丢失了。
如果这是导致 Subclipse 忘记其 SVN 连接的原因,则其他答案中提出的任何解决方法都不会起作用。相反,唯一的解决方案是删除项目并再次签出,这次确保签出是在包含 POM 的目录而不是更高级别的目录上执行的。
一个更好的整体解决方案是 Subclipse 拒绝在不包含 POM 的目录上运行“签出为 Maven 项目...”,或者通过搜索子目录来更好地处理它试图这样做的情况Maven 项目。
【讨论】:
【参考方案12】:我同时使用两个 SVNKit 实现(1.7.x 和 1.8.x)和 SVN 存储库版本 (1.8.x)。
因此,团队 -> 共享项目... 总是请求提交消息。显然,使用的是SVNKit 1.7.x,与SVN 1.8.x不兼容。
删除 SVNKit 1.7.x 后,eclipse 使用了唯一可用的正确 SVNKit 版本 1.8.x,一切都按预期工作。
【讨论】:
以上是关于恢复 Eclipse subversion 项目连接的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse + Subversion (subclipse) + Maven (m2eclipse) 多模块项目