为什么 Subclipse 仅在某些 Ecliplse 工作区中工作,而在其他工作区中不起作用?
我正在使用 Eclipse 和 Subclipse 进行一些 Perl 开发。 Subversion 存储库的设置如下:
- /repos /repos/dev/
- /repos/dev/crontabs
- /repos/dev/crontabs/script1
- /repos/dev/crontabs/script2
- /repos/dev/daemons
- /repos/dev/daemons/script3
- /repos/dev/daemons/script4
- /repos/dev/tools
- /repos/dev/tools/script5
- /repos/dev/tools/script6
在文件系统上,我将整个 /repos/dev 树本地检查到 ~/ dev 并创建了三个 Eclipse 工作区,“~/dev/crontabs”、“~/dev/daemons”和“~dev/tools”各一个。
这就是事情变得奇怪的地方。 在守护进程和工具工作区中,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 Client Adapter 1.5.6.1
- Subclipse 1.4.8
- EPIC 0.5.46
我尝试删除 deameons .metadata 并realted .profile 文件试图清除它并启动一个新的工作区,但这不起作用。
有人以前见过这种类型的行为和/或知道一种方法让 SVN 命令在所有工作区而不是其中一些工作区中工作吗?
更新:我还应该提到 /dev 目录中有很多其他资产,我不使用 Eclipse。 因此,我将命令行 SVN 工具与 Eclipse 中的 SVN 功能结合使用。 所有内容最初都是使用命令行工具检查的,然后我只使用 Eclipse 进行提交。 让我困惑的是为什么它在两个子目录中工作,但在第三个子目录中却不起作用,而命令行却 100% 工作。
I'm using Eclipse with Subclipse to do some perl development. The Subversion repository is setup like:
- /repos /repos/dev/
- /repos/dev/crontabs
- /repos/dev/crontabs/script1
- /repos/dev/crontabs/script2
- /repos/dev/daemons
- /repos/dev/daemons/script3
- /repos/dev/daemons/script4
- /repos/dev/tools
- /repos/dev/tools/script5
- /repos/dev/tools/script6
On the file system, I have the entire /repos/dev tree checked on locally to ~/dev and have created three Eclipse workspaces, one each in "~/dev/crontabs", "~/dev/daemons" and "~dev/tools".
Here is where things get weird. In the daemons and tools workspaces SVN works properly. I don't see the .svn directories and I can do all the various SVN stuff (e.g. commit, update, cleanup) in the TEAM dialog. However, SVN isn't working in the "crontabs" workspace. The .svn directories are visible and none of the SVN dialog options are available.
In all directories, I can use the command line SVN tools and everything works fine.
Here are some more details.
- Mac OS X 10.5.6
- Eclipse Platform - Version: 3.4.2 - Build id: M20090211-1700
- SVNKit Library 1.2.2.5405
- SVNKit Client Adapter 1.5.6.1
- Subclipse 1.4.8
- EPIC 0.5.46
I've tried deleting the deameons .metadata and realted .profile files to try to clear it out and start a fresh workspace, but that didn't work.
Anyone seen this type of behavior before and/or know a way to get the SVN commands to work in all the workspaces instead of just some of them?
UPDATE: I should also mention that there is a bunch of other assets in the /dev directory that I don't use Eclipse for. So, I'm using the command line SVN tool in conjunction with the SVN functions in Eclipse. Everything was originally checked out with the command line tool and then I'm just using Eclipse for the commits. What's throwing me is why it works in two subdirs, but not the third while the command line works 100%.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当您切换工作空间时,其他工作空间中的所有设置等都将被忽略。
不要检查整个主干并创建 3 个与存储库结构一致的工作区,而是创建 3 个工作区,然后将存储库的相关部分作为每个工作区的项目检出。
When you switch workspaces, all the settings, etc. from other workspaces are ignored.
Instead of checking out the whole trunk, and creating 3 workspaces that coincide with your repository structure, create 3 workspaces, and checkout the relevant portions of your repository as projects for each workspace.
当您创建新项目并向其中导入文件时,Eclipse 不会假定项目是受版本控制的。 您必须使用项目团队明确告知它 -> 共享项目...对话框。
选择正确的目录后,Eclipse 应该告诉您该项目已在该位置共享,但无论如何都要在 Eclipse 中激活它的 SVN 命令。
When you create a new project and import files into it, Eclipse does not assume that a project is version controlled. You have to explicitly tell it using the Project's Team -> Share Project... dialog.
Once you choose the correct directory, Eclipse should tell you that the project is already shared in that location, but activate the SVN commands in Eclipse for it anyway.
我不确定我是否完全遵循了这一切。 而且 Subclipse 插件并不像 CVS 插件那么完善。 但是,如果您将项目复制到工作区并且它包含 Subversion 上下文(.svn 文件夹),正如 Bemose 指出的那样,这对 Subclipse 来说没有意义。
理论上,当您使用 Team/Share 并收到警告消息时,您可以给予许可,它将删除现有的 .svn 文件并构建合适的新文件。 如果你幸运的话,那甚至会起作用。 CVS 确实如此,但是,正如我所说,Subclipse 可能是一个更大的问题。
最好的方法是使用 Eclipse subversion 透视图和“签出为 Eclipse 项目”选项将项目签入工作区。
如果您绝对需要从命令行构建项目目录,请使用 Subversion export 命令,而不是 checkout 命令。 导出会忽略“.svn”目录,因此 Eclipse 可以不受干扰地完成其工作。 但是,您必须执行团队/共享才能将导出的项目连接到 Subversion 存储库。
I'm not sure I totally follow all that. And the Subclipse plugin isn't as polished as the CVS plugin. But if you copy a project into a workspace and it includes Subversion context (.svn folders), as Bemose has noted, that isn't meaningful to Subclipse.
In theory, when you use Team/Share and you get the warning message, you can give the go-ahead and it will nuke the existing .svn files and build new ones that are proper. If you're lucky that will even work. It does with CVS, but, as I've said, Subclipse can be more of a problem.
Your best best is to check the projects out into your workspaces using the Eclipse subversion perspective and the "Check out as Eclipse Project" option.
If you absolutely feel compelled to construct your project directories from the command line, use the Subversion export command, not the checkout command. Exporting omits the ".svn" directories, so Eclipse can do its thing without interference. However, you will have to do a Team/Share to connect the exported project to the subversion repository.