为什么Subclipse仅适用于某些Eclipse工作区而不适用于其他工作空间?

时间:2009-05-06 18:38:59

标签: eclipse svn subclipse

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

  • / repos / repos / dev /
  • /回购的/ dev / crontabs中
  • /回购的/ dev / crontabs中/ SCRIPT1
  • /回购的/ dev / crontabs中/ SCRIPT2
  • /回购的/ dev /守护程序
  • /回购的/ dev /守护进程/ script3
  • /回购的/ dev /守护进程/ script4
  • /回购的/ dev /工具
  • /回购的/ dev /工具/ script5
  • /回购的/ dev /工具/ script6

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

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

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

以下是一些更多细节。

  • Mac OS X 10.5.6
  • Eclipse Platform - 版本:3.4.2 - 构建ID:M20090211-1700
  • SVNKit Library 1.2.2.5405
  • SVNKit客户端适配器1.5.6.1
  • Subclipse 1.4.8
  • EPIC 0.5.46

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

任何人在此之前看到过这种行为和/或知道如何让SVN命令在所有工作区中工作而不仅仅是其中一些工作区?

更新:我还应该提到/ dev目录中有很多其他资产我不使用Eclipse。所以,我正在使用命令行SVN工具和Eclipse中的SVN函数。最初使用命令行工具检查了所有内容,然后我只是使用Eclipse进行提交。抛出我的是为什么它在两个子目录中工作,而不是第三个,而命令行工作100%。

3 个答案:

答案 0 :(得分:0)

切换工作区时,将忽略其他工作区中的所有设置等。

不是检出整个主干,而是创建3个与您的存储库结构一致的工作空间,而是创建3个工作空间,并将存储库的相关部分签出为每个工作空间的项目。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

理论上,当您使用Team / Share并收到警告消息时,您可以批准它,它将核对现有的.svn文件并构建适当的新文件。如果你很幸运,甚至会工作。它与CVS有关,但是,正如我所说的,Subclipse可能更像是一个问题。

您最好的方法是使用Eclipse subversion透视图和“Check out as Eclipse Project”选项将项目检入工作区。

如果您绝对不得不从命令行构建项目目录,请使用Subversion export 命令,而不是checkout命令。导出省略了“.svn”目录,因此Eclipse可以不受干扰地完成任务。但是,您必须执行Team / Share才能将导出的项目连接到subversion存储库。