views:

47144

answers:

22

SVN in Eclipse is spread into 2 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?

+2  A: 

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.

macbirdie
What does "default SVN plugin in Eclipse Ganymede platform" mean? Ganymede means Eclipse release 3.4. Does subclipse only work on 3.3 and earlier?
rjmunro
No, Subclipse keeps working in later versions. For earlier versions, it's your only choice.
jodonnell
Subversive is an "official" Eclipse project. Subclipse is an "official" tigris project (the people who also make subversion).
John Meagher
+9  A: 

I would say Subclipse, as i couldnt even get Subversive working ;)

Prakash
I'd like to point out that the referenced blog entry is almost two years old, technology changes far faster than that. I'm sure both products have fixed old bugs and injected new ones in that time! :)
MetroidFan2002
Which blog entry do you mean?
migu
The one deleted since the first version of this answer.
Chei
+5  A: 

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

Ethan Gunderson
You still need some Eclipse plugin to hide the ugly .svn folders (exclude them from search etc.)
Borek
Not necessarily; you can exclude them using filters. Nevertheless I would use an SVN plugin for Eclipse because refactoring, moving and deleting files will be a headache if you have to do it all outside of Eclipse.
Paul Lammertsma
I find subclipse far better than tortoise: I get to hover and see changes inside eclipse, I can create change sets with mylyn, do multi-repository commits (for externals), and when doing code review, the diff is a full code editor so I don't have to "jump back" all the time when changes are warranted.
Stephen
+29  A: 

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 its 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 theses 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 thru the command line without any issues.

Brendon
Nice Answer, just 2 things to add: 1. Both have a similar desgin under the hood and were initiated from the same company (subversive was started, because subclipse became stuck). 2. The support for subclipse is a little better.
Hardcoded
+5  A: 

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.

Hank Gay
Was it easy to do this with Subclipse? Does subversive store some metadata not in the standard ways on the filesystem, making mixing it's use with things like tortiseSVN less reliable? If so, I'm going with subclipse.
rjmunro
With Subclipse, it was no problem at all—I just told Eclipse to create a new project from existing sources. I don't know any of the inner workings of Subversive, just that it didn't work when I tried the above.
Hank Gay
I had exactly the opposite experience. For Subversive, it depends on whether you picked the SVNkit provider or the Javahl?
Jay R.
I'm not sure (I was using the default). I've stopped using either one in favor of git-svn.
Hank Gay
+4  A: 

Subclipse, because at least it works. Subversive has been a bucket of fail for me so far, wouldn't play nice with all of my old projects I had checked out with Subclipse.

warren_s
Neither can work with projects checked out by the other. If you had old projects checked out with Subversive then you will find Subclipse won't work with them. If you want to switch between one and the other then all you need do is have a different workspace for each. But to say Subclipse is better because it works with you Subclipse workspace is really rather silly.
A: 

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, what I do is that 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.

MetroidFan2002
+1  A: 

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.

rjray
+4  A: 

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.

Oisin Hurley
A: 

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.

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

Mario Ortegón
+2  A: 

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.

masi
A: 

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.

stu
+10  A: 

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.

ChrisH
Since my post CollabNet has made their improved merge client available to non-registered users of subclipse. :)
ChrisH
They have? The only place I found to download it requires a registration. Please post a link.
Nemi
+15  A: 

After reading this post, I changed to Subclipse hands down.
http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407

+1 but for the record, subversion.com now redirects to subversion.org which currently links to tigris, and I presume in time will link to apache.
Si
-1 In fairness things have changed a lot since that post in July 2006 - I really don't think it's relevant to the discussion any more.
japher
A: 

We migrated from CVS to Subversion - mandate by people at my work who mandate stuff. The plug-in they identifed was Subclipse (1.0.7 - 5 years old). That version could not handle long path and filenames (in the order of approaching the Windows limits). We realized that the version they had identified was ancient and we upgraded to 1.6.5. This at least handled the long path/filenames. But, turns out that CVS, at least as far as a client/plug-in goes, was far superior to SVN in performance. But performance is all that matters, its source control, not rocket science. The migration has turned into more of an eviction. We are mapping eachothers drives and e-mailing changed files. The performance is horrible compared to what we had with CVS. On project has about 156k files (including the SVN metadata). Those files are laregly test scripts with assertions and there is a log revision of about 28k changes. SVN completely falls apart and apparently leaves the building as the application hangs and hangs. Refreshing directly on only one file that I had just modified took 1 hour and 8 minutes - just for it to recognize I changed a file (so should have been client-only). I sorely miss CVS. To put it in measurable terms though, our team consists of about 24 developers. Two were neutral toward SVN and CVS (they get around problems by using Command-line), one liked the opportunities that SVN offers and uses Tortoise SVN for interaction but the features he'd like to use currently are unavailable at my work due to the SVN server configuration. Twenty-One developers reminisce about CVS during the 300 collective hours the team has lost in productivity. But the SVN server side I hear is great - tasks we do 8 times a year scream. Tasks we do daily, well, I am poking my eyes out.

Kevin
+1  A: 

If you use Tortoise SVN and regularly update the version you may find Eclipse with subversive losing all SVN info and throwing some scary errors. Reason being the new version of Tortoise SVN adds new meta data that Eclipse subversive does not understand unless you also keep your Eclipse SVN connectors up to date as well. I generally use SVNKit connector so what I have is Tortoise SVN 1.5.x will work with Eclipse SVNKit connector 1.5.x and Tortoise SVN 1.6.x will work with Eclipse SVNKit connector 1.6.x

PaulG
+1  A: 

I chose to go with Subclipse since it is most closely associated with the Subversion project and so more likely to better handle the core svn functionality. If at all it fails to perform any function then I have Tortoise SVN as a backup.

kalengi
+3  A: 

I tried both of them, and both Subclipse and Subversive are awful. Both are challenging to install. If you use Subversive, you cannot use an external SVN client.

However you need to have a SVN client installed in Eclipse to keep track of changes, and also to not corrupt your local repository.

I have Subclipse installed, but use TortoiseSVN to actually do comitting/tagging/branching/merging.

jevon
+7  A: 

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 marvelously. I also frequently use svn from the command line as well as in Eclipse, and Subclipse has no problems with this.

Ciera
A: 

I have not really used it, but it seems Subversive supports "Check Out As", just like the built-in CVS support does.

Like, to take a project from SVN and be able to run it as a web project, one might be able to do so in one go. But to get the same result in Subclipse, I just check out the sources and run:

mvn eclipse:eclipse -Dwtpversion=2.0
Arjan
A: 

I didn't managed to make subversive to work in Galileo. I would go for Subversion without any doubt.

Carlos
+2  A: 

Just an update. I recently was reinstalling Eclipse and was faced with choice of Subclipse vs Subversive. I, also, had my share of troubles trying to get Subversive to work so I went for Subclipse. It installed perfectly on my Linux 64 bit machine and is running just fine. I mapped most common functions like Update, Commit, .. to shortcuts and its a blast. The merging is good too, although for bigger merges I still turn to TortoiseSVN. i tried it with both 3.5 and 3.6 and they both work fine. I ended up using 3.5 because for some reason key binding were not working with 3.6

xsaero00