Eclipse – Why does Subclipse only work in some Ecliplse workspaces and not others


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
  • SVNKit Client Adapter
  • 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%.

Best Solution

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.