Search code examples
eclipsesvnrefactoringsubclipse

How do I use Eclipse Refactoring Tools and stay in sync with SVN through Subclipse?


I have found that when I need to rename a Java class (and therefore the source file) or need to change the package name (and therefore move the source file[s]), I can either:

  1. Use the nice and useful Eclipse refactoring tools which is great since all the cascading tasks are done for me. However, I then have an uphill struggle with Subversion to replicate the changes back to the repo.
  2. I can issue the renames/moves in Subversion first, update my local and then the refactoring tools in Eclipse don't work.

Can anyone advise on a preferable procedure?


Solution

  • Since the 1.4.x releases, Subclipse handles this pretty well. If you have bugs, please report them. In prior releases it handled some situations but not others. This was due to Subversion limitations that were fixed in SVN 1.5. For example, prior to SVN 1.5, if you renamed a folder, you could not also rename a file in the folder (until the folder was committed). These sorts of things were all very common refactorings and SVN would get in the way.

    It all works pretty well now though.

    Mark