Using the new subversion integration in Eclipse Ganymede

Like many other developers I was keen to try out the recent Eclipse Ganymede release. In particular I wanted to try the new subversion integration (”subversive”) to see if it is any better than the old (”subclipse”) plugin I used to use with Europa.

Getting the new subversion working was surprisingly tricky. Obvious choices simply do not work, and the error messages do not give quite enough information to solve the problem. Add to this that some of the names of locations and updates can easily be misconstrued and you have a recipe for confusion.

For example, the error message presented if you try to use the subversive plugin without installing any third-party connectors is the only-partially-helpful:

SVN: ‘0×00400006: Validate Repository Location’ operation finished with error: Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.
If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Client.
Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.
If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Client.

I think the Eclipse folks have potentially missed something important here - checking out a project or three from subversion is almost always the way I start when I want to evaluate an IDE.

Anyway, here are a set of steps which should result in a working Eclipse Ganymede with the new subversion:

Get the basic subversion integration plugin from the eclipse download site

  1. Select Help::Software Updates from the menu bar
  2. Unfold Ganymede::Collaboration Tools
  3. Select SVN Team Provider (Incubation)
  4. Click install… and follow the instructions, including a restart of Eclipse

Resist the temptation to try and use the plugin at this point. It won’t work and you will get the above confusing message about connectors.

Get the third party SVN connectors from a different update site

  1. Select Help::Software Updates from the menu bar
  2. Click Add Site…
  3. Enter http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/ and Click OK
  4. Unfold the new site :: Subversive SVN Connectors
  5. Select appropriate connectors. In my case I selected Subversive SVN Connectors, SVNKit 1.1.7, and SVNKit 1.2.0
  6. Click install… and follow the instructions, including a restart of Eclipse

You should now be able to either Window::Show View::Other…::SVN Repositories or Window::Open Perspective::Other…::SVN Repository Exploring and add repositories to your hearts’s content.

Please let me know if your process differs from this, or if you have any corrections or suggestions.

Comments (36) left to “Using the new subversion integration in Eclipse Ganymede”

  1. Seano wrote:

    This is excellent advice and helped a lot. However, I also had to add SVN_SSH as an environment variable which points to the location of the svn executable.
    After that everything worked like a charm.

  2. Nick wrote:

    Great working solution, thanks!

  3. Orlando wrote:

    Excelent post, thank you!!!

    I just had to download Subversive SVN Connectors and SVNKit 1.1.7 from the Polarion installation site so as to make it work. I’m using Ubuntu 7.10, and Eclipse 3.4 with Java 6.

  4. Dario Garcia wrote:

    Thank you very much for this post!
    I was about to uninstall Ganymede, thinking that eclipse folks forgot the connectors.

  5. Mikkel wrote:

    Thanks for the tip it helped me out a lot!

    I still can’t figure out how to get subversive to recognize projects checked out by subclipse. It seems you have to use subversive to make the initial checkout in order for it to work or am I missing something?

  6. Agustin Fernandez wrote:

    Muy útil. Muchas gracias.

  7. Mike wrote:

    Thank you! This guide saved me a lot of time, and worked like a charm.

    Now if eclipse would only get their PDT project up-to-date…. :D

  8. Carlos Barbosa wrote:

    Thanks a lot for posting this info, it saved me a bunch of time!!

  9. Eduardo Lima wrote:

    God Job guy!
    Thank you.

  10. Matt wrote:

    Thanks for the info. I was worried that I couldn’t use the newest version of Eclipse!

  11. Matthew Eichler wrote:

    I followed your instructions to the letter, but on step 2, installing the plugins from Polarion and upon trying to restart Ganymede, I get this:

    Cannot find a solution where both Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.1.I20080612-1500,0.7.1.I20080612-1500]] and Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)] can be satisfied.
    Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.svnkit.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)
    Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.svnkit.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.polarion.eclipse.team.svn.connector.feature.group/0.0.0
    Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.svnkit15.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)
    Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.svnkit15.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.polarion.eclipse.team.svn.connector.feature.group/0.0.0
    Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)

  12. EVM wrote:

    You might want to add this site as well, since as of August 3 the connectors require an updated subversive version.
    Just add this site:

    h t t p : / / download.eclipse.org/technology/subversive/0.7/update-site/

    It won’t appear on the main list, you will have to look it up over “Managed Sites”.

    hope this helps

  13. Robin Howlett wrote:

    Was a little different for me. I went into
    Help::Software Updates
    Available Software::Manage Sites
    Selected the http://download.eclipse.org/technology/subversive/0.7/update-site/ and installed all,
    and then installed the Polarion SVN connector

  14. Steve wrote:

    Thanks for posting this - save me a lot of time as well. I agree with you in that the Eclipse folks may be missing something important in not bundling an SVN plug-in with the tool.

  15. Craig Thomas wrote:

    My experience was a bit more arduous. It was different to Frank Carver’s because I began my work with Eclipse Ganymede and Subversive after some updates had been posted by the Subversive/Polarion team.

    I went through several unsuccessful attempts, and finally succeeded with the following:

    1. Download Eclipse Ganymede for Java EE Developers.
    2. Go to Help->Software Updates
    3. Click on the “Available Software” tab.
    4. Unfold the Ganymede->Collaboration Tools node, and if your experience is like mine, you will see the “SVN Team Provider (Incubation)” item with this version identifier, “0.7.1.I20080612-1500″. What you really need (since the Subversive/Polarion team posted updates) is the version from 2008-08-01. But no amount of installing or updating will actually get that version for you! That is, unless you do the following (or know a better way :^)…
    5. *Instead of installing* as Frank described in his blog post, click on “Manage Sites…”.
    6. Uncheck all the check boxes (This is probably not necessary, but the UI here is very unhelpful.), scroll down to find “http://download.eclipse.org/technology/subversive/0.7/update-site/”, select it, and click the “Remove” button.
    7. Click the “Add” button, and add the identical site, “http://download.eclipse.org/technology/subversive/0.7/update-site/”. Then check its box (and only its box). Click “Okay”.
    8. You should be back on the “Available Software” tab, with only the subversive items present. Unfold the “Subversive SVN Team Provider Plugin (Incubation)” item, and you will see the “SVN Team Provider (Incubation)” item. Note that the version identifier is “0.7.2.I20080801-1500″. Hooray!
    9. Check the box, and click “Install”. Click Next, then accept the license and click Finish. Restart Eclipse when prompted.
    10. Go to “Help->Software Updates”.
    11. Choose the “Available Software” tab.
    12. Click the “Add Site” button, and add “http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/”
    13. Back on the “Available Software tab, click the check boxes for “Subversive SVN Connectors”, “SVNKit 1.1.7 Implementation (Optional)”, and “SVNKit 1.2.0 [Beta4] Implementation (Optional)”. Click the “Install” button. Notice the matching version identifiers on the confirm page. Restart Eclipse when prompted.
    14. Get into the workbench, choose “Window->Open Perspective->Other…”. Choose “SVN Repository Exploring”.
    15. Add a repository location.
    You’re in business.

  16. Alexander Herrmann wrote:

    @Craig

    great! thanks for your comment, that was the solution for me.

  17. Tuan Anh wrote:

    @Craig Thomas

    Thanks alot, it’s far from trivial

  18. rmatthew wrote:

    I’ve tried everything on this page and am not getting anywhere. I get that cryptic message and feel stuck. I even checked out the ‘classic’ version and guess what I got - Ganymede.

    I am trying one more time

  19. wojtas wrote:

    Thanks Craig! Works perfect!

  20. Simon wrote:

    Thank you Craig ! Been messing about with this all afternoon and finally got it sorted thanks to your instructions.

    I.O.U. 1 x Beer

  21. Dennis Clark wrote:

    I have similar problems with Mathew above, but different. I followed Frank’s initial entry, but brokedown when trying to install the connectors from step 2. I could not get Craig’s SVN install first step to work at all.

    Here is what trying Frank’s step 2 got me for problems:

    Cannot complete the request. See the details.
    Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)
    Cannot find a solution where both Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.1.I20080612-1500,0.7.1.I20080612-1500]] and Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)] can be satisfied.
    Cannot find a solution where both Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.1.I20080612-1500,0.7.1.I20080612-1500]] and Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)] can be satisfied.
    Cannot find a solution where both Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.1.I20080612-1500,0.7.1.I20080612-1500]] and Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)] can be satisfied.
    Cannot find a solution where both Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.1.I20080612-1500,0.7.1.I20080612-1500]] and Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)] can be satisfied.
    Cannot find a solution where both Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.1.I20080612-1500,0.7.1.I20080612-1500]] and Match[requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)] can be satisfied.
    Unsatisfied dependency: [org.polarion.eclipse.team.svn.connector.feature.group 2.0.2.I20080801-1500] requiredCapability: org.eclipse.equinox.p2.iu/org.eclipse.team.svn.feature.group/[0.7.2.I20080801-1500,1.0.0)

    I am not a Linux/Eclipse wonk at all so I’m stumped even as to what these errors are telling me. Does anyone have a suggestion? I’d rather not live with command line SVN, I’ve been spoiled by GUI interfaces…

    Thanks, all for your work here!
    DLC

  22. wes wrote:

    This was so helpful - Thanks!

  23. Toby wrote:

    @Craig Thomas: You made my day ;)

    Thanks a lot for your detailed description !

  24. Robbert wrote:

    Great post, great comments!

    First got the same messages as Matthew Eichler… later deinstalled the SVN stuff and tried out Craig Thomas’ way. Which did the trick for me; I’m in business indeed! With a later version (…80814-1500), but at least, with this solution, the versions started to match.

  25. Daniel wrote:

    Craig: thanks so much for that, I was having that problem with the versions as well.

  26. Subversive in Eclipse Ganymede « The Coffee Machine wrote:

    [...] Thanks to Frank Carver and Graig Thomas [...]

  27. Dinge, Zeugs und Sachen wrote:

    Eclipse Ganymede und Subversion…

    Der Titel sagt es schon: es geht um Eclipse Ganymede und Subversion. Beides meiner Meinung fantastische Tools zur Softwareentwicklung, in Kombination allerdings gerade etwas zickig. Das Problem: bei Eclipse Europa (3.3) wurde meist für die Subversion-…

  28. Jeff wrote:

    I believe you can get connectors for the default Ganymede install by using this connectors update site:
    http://www.polarion.org/projects/subversive/download/eclipse/2.0/ganymede-site/

    I haven’t tried this myself, but the dates seem to match.

  29. Jeff wrote:

    I have verified that the update site http://www.polarion.org/projects/subversive/download/eclipse/2.0/ganymede-site/ does in fact work with the default Ganymede Subversive install.

    I had to go this route because my 20080814 Subversive was hanging on install.

  30. Dan wrote:

    Thank you, thank you, thank you!!

    Great tutorial…

    Thanks to Jeff for providing the updated link, it saved the day.

  31. Mitch Gitman wrote:

    Thanks for posting these instructions. I’ve followed them to the letter, but at the point of trying to obtain the Subversive SVN Connectors, I get a message, “The software items you selected may not be valid with your current installation….”

    I’ve also tried the official Subversive install instructions on the Eclipse site, at http://www.eclipse.org/subversive/documentation/gettingStarted/aboutSubversive/install.php. And I pretty much get stymied in the same way.

    I am using Eclipse Ganymede, downloaded recently from the Eclipse site.

  32. Mitch Gitman wrote:

    Well, Craig Thomas’s instructions @15 did indeed work for me. Many thanks.

    Frankly, though, to see that the official Eclipse/Subversive instructions simply not work; to see that something so fundamental as Subversion access (even where it has been incorporated the Eclipse project) simply does not work as advertised–well, this brings back the doubts I used to have about Eclipse: that it is a Rube Goldberg contraption, that it is software that has been designed with no regard to the people who actually might be using it (and those people’s time). As a professional developer, I know that I’d be out of a job if I produced software that has to be hacked to do what it’s supposed to do.

    I’m sure I’m like a lot of Java developers. I’ve invested so much time in learning Eclipse and its numerous unintuitive quirks, it’s tough to just scrap it at this point and start over with something else. But this experience may be just enough of a nudge to finally motivate me to do a serious evaluation of IntelliQ IDEA.

  33. SA wrote:

    Thanks Craig — your detailed howto worked like a charm. Mucho thanks.

    /SA

  34. A P Silva wrote:

    If you’re getting a Unsatisfied dependency msg like I’ve attached, then be sure to use: http://www.polarion.org/projects/subversive/download/eclipse/2.0/ganymede-site/

    before the update URL:

    http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/

    After switching URLs, it was all systems go for me.

    Cannot complete the request