为什么 Subclipse 仅在某些 Ecliplse 工作区中工作,而在其他工作区中不起作用?

StackOverflow https://stackoverflow.com/questions/831064

  •  06-07-2019
  •  | 
  •  

我正在使用 Eclipse 和 Subclipse 进行一些 Perl 开发。Subversion 存储库的设置如下:

  • /仓库/仓库/开发/
  • /repos/dev/crontabs
  • /repos/dev/crontabs/script1
  • /repos/dev/crontabs/script2
  • /repos/dev/守护进程
  • /repos/dev/daemons/script3
  • /repos/dev/daemons/script4
  • /repos/dev/工具
  • /repos/dev/tools/script5
  • /repos/dev/tools/script6

在文件系统上,我在 ~/dev 本地检查了整个 /repos/dev 树,并创建了三个 Eclipse 工作区,分别位于“~/dev/crontabs”、“~/dev/daemons”和“~dev”中/工具”。

这就是事情变得奇怪的地方。在守护进程和工具工作区中,SVN 可以正常工作。我看不到 .svn 目录,但我可以执行所有各种 SVN 操作(例如团队对话框中的提交、更新、清理)。但是,SVN 无法在“crontabs”工作区中工作。.svn 目录可见,并且 SVN 对话框选项均不可用。

在所有目录中,我可以使用命令行 SVN 工具,一切正常。

以下是更多详细信息。

  • Mac OS X 10.5.6
  • Eclipse 平台 - 版本:3.4.2 - 构建 ID:M20090211-1700
  • SVNKit 库 1.2.2.5405
  • SVNKit 客户端适配器 1.5.6.1
  • 子剪辑 1.4.8
  • 史诗0.5.46

我尝试删除 deameons .metadata 和 realted .profile 文件以尝试清除它并启动一个新的工作区,但这不起作用。

有人以前见过这种类型的行为和/或知道一种方法让 SVN 命令在所有工作区而不是其中一些工作区中工作吗?

更新:我还应该提到,/dev 目录中还有很多我不使用 Eclipse 的其他资源。因此,我将命令行 SVN 工具与 Eclipse 中的 SVN 功能结合使用。所有内容最初都是使用命令行工具检查的,然后我只使用 Eclipse 进行提交。让我困惑的是为什么它在两个子目录中工作,但在第三个子目录中却不起作用,而命令行却 100% 工作。

有帮助吗?

解决方案

当您切换工作空间时,所有设置等都将被更改。来自其他工作区的信息将被忽略。

不要检查整个主干并创建 3 个与存储库结构一致的工作区,而是创建 3 个工作区,然后将存储库的相关部分作为每个工作区的项目检出。

其他提示

当您创建新项目并向其中导入文件时,Eclipse 不会假定项目是受版本控制的。您必须使用项目团队 -> 共享项目... 明确地告诉它对话。

选择正确的目录后,Eclipse 应该告诉您该项目已在该位置共享,但无论如何都要在 Eclipse 中激活它的 SVN 命令。

我不确定我是否完全遵循了这一切。而且 Subclipse 插件并不像 CVS 插件那么完善。但是,如果您将项目复制到工作区并且它包含 Subversion 上下文(.svn 文件夹),正如 Bemose 指出的那样,这对 Subclipse 来说没有意义。

理论上,当您使用 Team/Share 并收到警告消息时,您可以给予许可,它将删除现有的 .svn 文件并构建合适的新文件。如果你幸运的话,那甚至会起作用。CVS 确实如此,但是,正如我所说,Subclipse 可能是一个更大的问题。

最好的方法是使用 Eclipse subversion 透视图和“签出为 Eclipse 项目”选项将项目签入工作区。

如果您绝对需要从命令行构建项目目录,请使用 Subversion 出口 命令,而不是结帐命令。导出会忽略“.svn”目录,因此 Eclipse 可以不受干扰地完成其工作。但是,您必须执行团队/共享才能将导出的项目连接到 Subversion 存储库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top