The sorry state of subversion support in Eclipse

Eclipse is a great IDE, but the state of subversion support is appalling. Both subclipse and subversive are buggy as hell, and I’d rather not touch either of them with a 10 feet pole.

Installing subversive is a futile exercise in “find all the update sites and correct plugin selection”. Subversive also is unable to keep the target/classes directory out of the synchronize view, which makes committing changes rather challenging.

Installing subclipse is much better than installing subversive: just add subclipse’s update site and install all plugins. No hunting for external sites, and no chance of installing the wrong stuff (I’m on OS X, so the win32 HL binaries are of no use to me). But again the team synchronize view is borked. This time subclipse won’t remove all updated files, double clicking on a folder throws an exception, etc.

I know that GIT is the SCM du jour, but please can someone at eclipse.org take note and finally implement a working, pleasant integration with subversion? Is that so much to ask after 5 years of Subversion availability?

Tags: , , , ,

31 Responses to “The sorry state of subversion support in Eclipse”

  1. Luis says:

    Hi Martijn.

    You should try IntellJ Idea, subversion support there is bliss.

    It works perfectly well out of the box, merging is very well handled, it supports automatic finding of branches and tags and whatever… It just works.

    Oh, and there’s a free license for open source products. ;-)

    Luis

  2. Stefan F says:

    Yes, please give us decent SVN support. Just had to do a fresh install after a Subclipse update caused exceptions on each and every click. Now I am using Subversive as I was to annoyed to play the ?find all the update sites and correct plugin selection? game.

    See, I feel with you ;)

  3. I have used both subclipse (in the past) and subversive (more recently) and I found that they “just work” (I do not do heavy branching and merging, though).

    The problem with the classes folder… I think that one of the bundles in subversive update site just excludes anything generated by JDT. I can not tell for sure since I always add the target folder to the svn:exclude (even if my IDE does magic, other developers might use the command line). That fixes the problem from the start and seems like “the right thing”.

    But so many people complain about svn support in Eclipse, that I tend to think that there must be some truth on that.

  4. btilford says:

    Easiest way to get it working is not to mess with the update sites. Download the Polarian distribution. Still other IDEs have better support.

  5. ncloud says:

    This is the exact reason I stopped using Zend Studio for PHP — the Subversion support is grossly inferior to NetBeans.

  6. ncloud says:

    Edit to the previous post… Zend Studio is built on the Eclipse framework for those who aren’t familiar with the product.

  7. Chris says:

    Part of the problem is that the Eclipse update system blows. Every couple of months I have to install the same version of Eclipse as something has become horribily out of sync and updates begin to fail. What is equinox and why does it keep on failing to update?

    And why can’t Eclipse just number their releases? Ganymede? “Winter edition” WTF? Just call it v 3.4.1 and be done with it.

  8. Ivan says:

    This is so true. Subversion support is terrible. I typically dont even use Eclipse-based version control tools anymore. The CVS client was great. Too bad no modern project uses CVS so its pretty irrelevant.

  9. JGM says:

    I install SubClipse, but use it only as an indicator of the project status. I revert to the command line for any actual subversion tasks that need to be done. Now if I could just embed the Windows Powershell into eclipse….

  10. I think SVN support, particularly Subclipse is great. I’ve never seen these problems. I do not doubt that you are having them, but where are the links to the mailing list threads where you have reported the bugs and sought help?

  11. Nyarlathotep says:

    I haven’t tried subclipse in a long time, so I will speak out of subversive-sight:
    It does take 2 update sites for subversive to work. They both are mentioned at the website, at the very same page!
    btw: Subversive is based on Subclipse so they have a similar structure with the same, flexible, connector approach. The only difference may be that subclipse doesn’t offer a separate site for the connectors!

    The target folder *is* excluded by subversive JDT extenstion, but not in external tools, so just add it to the svn:ignore-list and you don’t have any problems with it. That’s standard subversion functionality, one should be expected to know. You can even do this with subversive (and subclipse, I think)!

    Sure, both plugins aren’t perfect and have their quirks, but the problems you mentioned are mostly RTFM problems.

  12. WTF? What makes you assume that we don’t exclude those directories using svn:ignore? Before you start claiming RTFM, STF and try to see that others may experience bugs you haven’t. And why the hell does it require 2 update sites? Why not just one? Why isn’t it the default SCM implementation that ships with Gallilleo (or whatever the next moon of saturn is)?

    This is a rant. CVS integration in Eclipse has been excellent since the first days. SVN has been the replacement for everybody in the world for CVS for 4 years now? And still Eclipse can’t provide us with the same level of SCM support for SVN. *That* is appalling and what I’m ranting about.

    I don’t have time to start debugging every open source project I use and turns up a bug. I expect some things to just work, especially stuff that should have been around for 3 years and are supported by commercial open source developers (Eclipse is pay to play)

  13. Alain O'Dea says:

    Our development team at Verafin uses SVN as our primary code reporitory and a majority of us use Eclipse with Subversive. We have found the Subversive team provider to be a very effective tool for both managing change and diagnosing defects. I’ve used Eclipse since 1.0 and Subclipse then Subversive since their original releases. The install process could stand to be improved in 3.4 and has been in 3.5. The Eclipse foundation listens and so does Polarion (the makers of Subversive). Before venting public rage on their free products you should consider giving them constructive feedback in Bugzilla (which is integrated into Eclipse). I’ve had my share of frustrations with both over the years, but through careful documentation and communication I have seen both teams resolve them in a timely fashion.

  14. Andrea says:

    I and my collegues (about 100 developers) use suversive in our projects. We hit some bug (many of wich solved in further releases) and the integration isn’t as stable as the CVS one (as expected) but we didn’t hit any serious problem, and for sure we never had problem with committing che target/classes directory.
    Are you sure you are using the svn:ignore properly?

  15. Jonathan says:

    Well, just thank your lucky stars you’re not using Perforce! Talk about a giant waste of time! And BTW, I don’t reflexively hate Perforce. I’ll use any good tool. And in fact, their support people are incredibly helpful. But their Eclipse plug-in is so bad (buggy, hard to use) that I actually had to stop working and spend the first couple weeks on my new job writing a subversion proxy for Perforce (which worked out very well).

    I don’t have the problems you cite with Subclipse. Instead, I have a very annoying one which I can accept (especially if the other option is Perforce): every so many commits, it insists that I do an update for no reason. I do an update. Nothing changes (because I didn’t need to do an update!). Then I commit and it works. It’s a silly little dance that I truly don’t understand, but I find it hard to believe it’s a bug in subversion itself, so I’d hazard a guess that it must be the eclipse plugin.

  16. Drakanor says:

    Martijn, you took the words right out of my mouth. Since Subversion became popular and a de facto replacement for classic CVS, I quarreling with it’s integration into Eclipse.

    Funnily enough, right now I’m getting an error for one of the Eclipse SVN packages while doing a scheduled update. Everything else updated fine. I sense bad faith! ;)

  17. Huherto says:

    What I would like to do is use TortoiseSVN within Eclipse.

  18. M1EK says:

    Sorry, but it DOES suck, hard; I’ve lost 3 hours so far today trying to reconnect projects to subversion repositories after the combination of Ganymede and subversion have lost their collective minds. It doesn’t “just work” for anybody else at my company, either; the best we can hope for is “sort-of works some of the time”.

  19. Mark says:

    I like SVN but given the sorry state of Eclipse support I would frankly rather use CVS since the eclipse tooling is much better.

  20. Carl says:

    I agree with those who say it does NOT “just work” and ignore posts from anyone who appears to have no problem with it, since clearly many who do due diligence have problems. And so do I.

    I have spent several hours many times researching how to do various things with Subclipse and Subversive. In the end, I usually am able to get one or the other to install and do many things.

    But there is one thing I cannot do. Perhaps someone can point me at a resource to explain how.

    Specs: Eclipse 3.5 “Galileo”. Mac OSX 10.5.7 Tiger. The below applies to Subversive. I’ve tried Subclipse with similar results too.

    I want my Eclipse project to be under ~/workspace/BLAH, but I want my SVN working copy OF A PARTICULAR FOLDER in the project to be at ~/who-cares/SVN/project-a. Because, that’s where it’s always been, and why should I move it to make Eclipse happy? I don’t care if the .project and all that are not under SVN – all the stuff I care about are in project-a

    So, I’ve tried to do the “New / Folder / Advanced … / Link to folder in the file system” to link to project-a. The fact that the project-a folder is an SVN working copy is not detected. There are posts on the new which basically say, this is expected because Linked Folder is an Eclipse concept … blah blah. This is a moot point. The folder itself is under SVN – but the whole project is not. I just want Subversive to recognize that and allow me to control THAT ONE FOLDER in my project.

    So OK, instead of using Eclipse Linked Folders, I decide to do a symbolic link at the OS level – so I do “ln -s ~/project-a project-a” in the ~/workspace/BLAH (project) folder – same result.

  21. Lynn says:

    Thank you for your rants ! I am a newbie to the whole Eclipse thing and struggling to work under the Eclipse/Spring/Maven/Tomcat stack with source in SVN. I’ve had my whole env fubar 4 times (due to svn update) and today my local code got wiped out when I tried to get a branch out. I’ve been working on svn for years (linux and windows) and never had so much pain.

    I hope I can get it all working before I get fired :(

  22. Don says:

    I’ve used Subclipse in Ganymede and earlier (on Macintosh) for years. Decided to try Subversive as part of upgrading to Galileo, in the hopes that, despite what I’d read, it might be better. Can’t say whether or not it works, as I can’t get the damn thing to install at all.

    There really is no excuse for this being so hard. Isn’t hooking an IDE up to a SCM system absolutely central to its utility? Why is this such an unloved child, while so much work goes on on less important stuff every release? Isn’t anyone embarrassed that it’s easier to just go use the command line Subversion client than fighting with it inside the IDE?

  23. Gwen says:

    Personnaly, I just tried to install Subclipse in Ganymede.
    Now, Eclipse doesn’t start at all.

    I think I’m just going to reinstall Eclipse and not use subversion in it at all, I don’t have the time to debug this. Tortoise will have to do.

  24. MS says:

    Hi there,
    well this morning my php project disappeared because the SVN repository was not there (no idea why),
    After relinking the repository , renaming the Project folder, creating the project again by importing from SVN rep ,copying manually the Files
    and finally commiting i was able to reconstruct the state i left yesterday that sucks!
    this happens some times before, i’m considering to use other SVN client out of Eclipse now.
    I’m using PHP Development Tools (PDT) SDK on Galilleo and Subversion.

  25. David says:

    I agree with this rant. I’ve been a hard core user of Eclipse for several years using CVS and found it to be an excellent IDE. Tonight I decided to work on an OpenSource project and needed to check out the SVN based code, and thus the nightmare of getting Subversion installed began (I’m using Ganymead).

    I’ll admit that maybe some of my problems are due to the fact I’m use to working with CVS and don’t really know anything about SVN, but really WHY doesn’t the subversion plugin just install and work like the reliable old CVS one?

    After wasting several hours playing a delightful game of “hunt the update site” I now have error messages referring to SVN connectors, whatever the hell they are. Following instructions I’ve managed to get everything installed but still the connector problems… Arrr!

    I’m amazed at how bad the support for SVN is within Eclipse, especially considering it’s the new CVS and has been for several years.

  26. . says:

    I’ve gotten both Subclipse and Subversive working at times, but not with Galileo and Galileo SR1, Team->SVN disappears when other plugins (Eclipse or 3rd party) are installed. (This happens with both Subversion plugins.) Lovely.

  27. You may also need to add “exclude **/.svn” to all you source folders in java build path, so eclipse won’t copy them to target/ and SVN plugin will not see them

  28. Mo says:

    Yes, it is true… SVN support in Eclipse is just unusable. I’ve developed patterns of “try this three times, then do something else, try it again twice” and I am ever amazed how much things are messed up. And they do not improve ever! Every year or so I try it again, and after some time of agony go back to CVS, which may not be as cool, but at least works. This is so sad….

  29. mielikki says:

    I was looking around to see which Subversion plug-in to use with Eclipse and had a lot of fun reading the comments. I think I’ll just stick with the command line svn for now. Sounds like it will save me some headaches.

  30. ANB says:

    My experience with Subclipse is that it’s trickier to learn how to work with than it should be, and that if you don’t take the time to learn its quirks, you can get yourself into trouble. Otoh if you _do_ take that time, it works very well. I’ve only run into two issues: (1) Rarely but occasionally the Subclipse view will get out of sync with the checkout, a glitch that can be fixed simply by restarting Eclipse; and (2) Changing svn properties with Subclipse requires an extra update step, again to keep Subclipse in sync with the checkout. Those two minor flaws aside, Subclipse works just as it should.

    Summary: not 100% perfect, but highly usable IF you’re willing to take a couple of hours to learn how to use it.

    I currently run Galileo “IDE for Java Developers” (+ updates) and Subclipse 1.6.5 and CollabNet Merge Client 1.10.0, along with misc other 3rd party plugins. I run regularly on all three Eclipse platforms: linux (CentOS 5.x), windows (XP and 7) and osx (10.5 and 10.6).

    So far I haven’t found any reason to try Subversive, so no comments on that package.

  31. Jon says:

    Install Netbeans and you have subversion. Install eclipse and read half the Internet trying to find a bleeding plugin scattered over the net that *might* work with your version. For the love of God please make subversion core. It’s a freaking nightmare as it stands. And totally agree about the naming convention somebody wrote. Get rid of the marketing twats and just use version numbers.

Leave a Reply