What are the pros and cons of the SVN plugins for Eclipse, Subclipse and Subversive?

Viewed 439189

SVN in Eclipse is spread into two camps. The SVN people have developed a plugin called Subclipse. The Eclipse people have a plugin called Subversive. Broadly speaking they both do the same things. What are the advantages and disadvantages of each?

32 Answers

Both are very similar but Subversive is the "eclipse svn provider". I primarily use Subversive because of a few convenient features:

Grouping of history

When I'm browsing the history of a branch instead of just seeing a bunch of rows for every commit it can group commits by today, week, etc.

Mapping of trunk, branches, and tags

Subversive assumes the default svn layout: trunk, branches, tags (which you can change), so whenever you want to tag or branch it is one click and you provide the name of the tag or branch.

Like I said these are minor differences that I just find convenient. Both work great with mylyn, but overall there really isn't a whole lot of differences with these two extensions.

Merging with Subversive is a pain though (haven't tried Subclipse), I've never been able to successfully merge. The preview of the merge is great but it would never complete the merge or it will take way to long. Most of the time I complete merging through the command line without any issues.

With every new version of Eclipse, I install Subversive, because it's the standard provided by Eclipse. And every time, it has issues recognizing my pre-existing projects.

So I end up uninstalling Subversive and installing Subclipse instead, which works marvellously. I also frequently use SVN from the command line as well as in Eclipse, and Subclipse has no problems with this.

If you do much merging with Subversion then you will probably prefer CollabNet Desktop - Eclipse Edition. You have to register an account with CollabNet to get the download, but it is free. It is essentially Subclipse with a better merge UI.

I am not affiliated with CollabNet.

CollabNet has made their improved merge client available to non-registered users of Subclipse. You get it by selecting the CollabNet Merge Client feature when installing Subclipse from the update site.

I would say Subclipse, as I couldn't even get Subversive working ;)

I actually think both of them kind of suck. Using TortoiseSVN is a far better solution in my opinion. It's far more robust and tends to just work better, and I've always had integration issues with Subclipse and Subversive.

They both have pretty heinous warts, but I couldn't get Subversive to work with a project I had checked out from the command-line, and that was a show-stopper for me.

Subclipse, because at least it works.

Subversive has been a bucket of fail for me so far. It wouldn't play nice with all of my old projects I had checked out with Subclipse.

Up until about May 2008 I was using Subclipse, but due to issues with some projects, I've switched over to Subversive and am using that with no issues. If you are doing something fancy like headless Buckminster builds, then Subversive is definitely the one to go with.

For me neither is better or worse, but Subversive is the default SVN plugin in Eclipse Ganymede platform, so there's a chance that it's better integrated with Eclipse.

As an addition to Brendons answer:

We use Subversion since version 1.5.1 and used Subclipse first. But because we greatly depend on the merging feature, we switched to Subversive which is more convenient and has a seperate Reintegrate option in the merging dialog.

One bug that might hinder at merging is that if you select revisions explicitly, it doesn't take the last revision listed. E.g. "101-100" doesn't merge r100 and "100" thus doesn't merge anything at all. (version 0.7.5)

And it has uses the same indicators as the CVS plugin.

I've used both, and while Subclipse has been flaky for me, Subversive (at least with a previous version) locked out an account of my coworker when he accidentally put in the wrong credentials (the network login is used to access the subversion repository).

Subclipse tends to get disorganized over time. If Eclipse is not refreshed regularly Subclipse seems to lose its file tracking information. Honestly, though, since I have the Easy Explorer Plugin, I use Subversive (occasionally) for history and change information, but I easy explore and use TortoiseSVN for commits and updates to the projects I know I've changed recently.

I've been using Subversive since I upgraded to Ganymede. I use it with Eclipse in Linux (Ubuntu and Fedora Core), Windows XP and Mac OS X.5. Aside from some issues getting Subversion 1.5.1 to use the right security libraries under Mac OS, I haven't had any problems. Given that it has been adopted as an Eclipse technology project, I am inclined to place my bets on it, in terms of long-term hopes.

I've also used both. I had the problem that I have around 150 projects on my workspace, and Subversive would take an awful long time when I selected all plugins and said "synchronize repository". The UI would freeze for an extremely long time. I find Subclipse to be more stable.

Anyway, I combine the tools a lot. For some tasks like checking out whole branches I prefer the command line. For others I use TortoiseSVN. I use Subclipse mostly to view history and run comparisons directly on the tool, and occasionally to compare (I prefer Beyond Compare for that, though).

I had the same problem as some others even getting Subversive to work, so I can't say if it's better than Subclipse.

Subclipse is really lacking when it comes to integration with Eclipse for tags and branches. You can do them, but it's nowhere near as seamless as it is with CVS.

Related