What are the pros and cons of the SVN plugins for Eclipse, Subclipse and Subversive? [closed]
Asked Answered
L

32

639

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?

Lithoid answered 14/9, 2008 at 13:15 Comment(1)
I just moved from Subversive to Subclipse because moving files to other packages just works.Federation
E
177

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.

Ectomy answered 14/9, 2008 at 13:15 Comment(5)
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.Irreconcilable
What is your view on this topic today? How good is merge support in subversive? I do merges in subclipse quite often, and it works OK.Inclined
Whatever the team at Subversive has done has fixed merging issues as of the last few releases. I am on the most current version (1.0.0.I20120601-1700) and merging code couldn't be any easier.Demented
Is there a case where SVN merging isn't a pain, my friend?Koger
I have had success with merging with subclipse. BUT honestly when doing SVN-instensive stuff like that...I cheap and jump to TortoiseSVN. BUT now that I'm trying to move to linux dev env...we will need to see.Costanzo
S
162

I will take a crack at answering this. I am a project lead for Subclipse, and I manage all of the releases, etc. for the project. So my biases are obvious.

I am not going to talk too much about Subversive. Clearly, there are users that use it and like it. Functionally the products are very similar as both are mature products.

One thing I do want to comment on is this notion that somehow Subversive is the "official Eclipse" plugin. That is just not true, as there is no such designation. Eclipse is an open-source foundation and any project that wants to follow their rules, process and IP requirements, etc. can host their project with the foundation. That does not make you any more or less official than any other plugin.

I will also note that Subversive has remained in the "Incubation" phase since its inception, and it does not appear to me that it will ever meet the requirements for graduation. As you can see here, there has been only one committer on the project and commit activity has dwindled to very low levels.

Subversive - SVN Team Provider

So why should you use Subclipse? We are actively involved with Subversion itself. I am a Subversion PMC member and help maintain the Java language bindings so that we (and other projects like Subversive) can use the API.

We work directly with Subversion to define and improve the API and make sure necessary features are exposed to clients like Subclipse. We also work closely and collaborate with the Visual Studio integration (AnkhSVN) and TortoiseSVN teams to make sure there is a relatively consistent user experience across clients.

Subclipse is still actively maintained and we maintain support for Eclipse versions 3.2 to 4.2. We are always trying to listen to feedback and incorporate ideas from the community. The recent 1.8.x releases include internal changes that greatly improve performance of Eclipse when working with large projects (that is when you really see it).

Subclipse has led the way in areas like merge tracking support, where we worked closely with the Subversion team in first adding this feature in 1.5 and then evolving it in subsequent releases. We were often the initial consumers of new API and provided the project with the feedback needed to harden the feature. We also introduced a graphical revision graph feature a couple years ago, becoming the first to bring this long asked for feature to Eclipse users.

If there are specific UI features in Subversive that people would like to see made in Subclipse, I would encourage you to visit our community and engage in our discussion forums. Maybe other users share your views and we can improve the UI together.

Forum [Subclipse-users].

Eclipse 4.2 is the latest release at the time of this post, but it is safe to assume that Subclipse will support all future Eclipse releases as they are made.

Stanleigh answered 14/9, 2008 at 13:15 Comment(11)
okay, lengthy and informative post. Not quite what I was looking for, but very insightful.Sheathing
I'm sold on the argument, but you trash talk Subversive without giving the same stats for Subclipse. Can you edit to include links to Subclipse's commit history and evidence that >1 person is working on it? :)Telega
I do not intend to trash talk Subversive, and you are right that Subclipse team has mainly been 2 people for last couple years. I would recommend Ohloh to see project info: ohloh.net/p/subversiveStanleigh
"notion that somehow Subversive is the 'official Eclipse' plugin": 1) There is an eclipse.org/subversive but no eclipse.org/subclipse 2) Once installed all links reference eclipse.org not some other website. 3) Bugs are recorded at eclipse.org. 4) Source code is written as org.eclipse.team rather than com.mycom. If it's not the official Eclipse version then it sure looks like it.Goatsbeard
Eclipse is an open-source foundation. There are projects that have nothing to do with the IDE. Any project can host with the foundation if they choose to do so. It does not mean anything other than that. Subversive is a good product, if you like it use it.Stanleigh
Based on this post I have been using Subclipse for 4 months but now have switched to Subversive for the simple fact that Subclipse lacks UI based conflict resolution; you get 'Edit Conflict' in synchronize view with the Subversive plugin.Otte
@MarkPhippard the update site link for 1.12 points to 1.10Loutish
I know. It says so right on the home page - subclipse.tigris.org "Subclipse 1.12.x update site has been created with support for Subversion 1.9.x. As explained in the following discussion post for now this site still contains Subclipse 1.10.x but with support for Subversion 1.9.x added. Due to how the JavaHL library is loaded we cannot maintain support for both 1.8.x and 1.9.x using a single update site."Stanleigh
@MarkPhippard we can't reliably use subclipse with svnkit since months, because of two bugs in svnkit (fixed in the meanwhile). Surprisingly, the subclipse project team seems to be unable provide a subclipse release with an updated svnkit.jar (someone reported this within your bugtracker as well: subclipse.tigris.org/issues/show_bug.cgi?id=1636 ).Gatecrasher
For future reference, you can always just update SVNKit from their update site (that is all I do). I only check for new versions when posting new Subclipse releases. I did not see the issue you mentioned but the site has been updated now.Stanleigh
I've used Subclipse for many years. After reinstalling the OS some days ago, I've decided to try Subversive. I've just run back today. RUN. Thank you guys for your work, and long life to Subclipse!Rennie
M
117

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.

Monge answered 14/9, 2008 at 13:15 Comment(5)
I have to second this one. We use command line a bit on our repositories and Subversive has never played nice with them. Subclipse, on the other hand has never given a single problem.Dyak
Agreed. I currently have command line svn version 1.7.2 installed on OSX. I had to switch to Subclipse because Subversive's adapter is out of date.Looney
I agree! subversive partly strange behavior, but Ive always had quite stable results with subclipse, hence - always going back.Majormajordomo
+1 for the possibility to use the command line in parallel with Subclipse.Valladares
I have been using Eclipse from Indigo to Neon, each time I had trouble to make svn work (i am not the root). I have never made subversive work for me. On the other hand, subclipse + svnkit is the only solution I end up with.Krishnakrishnah
E
51

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

Edmundedmunda answered 14/9, 2008 at 13:15 Comment(3)
+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.Puiia
-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.Unkindly
-1 Influenced by the article I have tried Subclipse. I got OutOfMemory during SVN update on projects, which worked before in Subversive. I'm unable to do Cleanup on a project, which was partially checked out. I switch back to Subversive.Ropedancer
P
34

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.

Pash answered 14/9, 2008 at 13:15 Comment(4)
Since my post CollabNet has made their improved merge client available to non-registered users of subclipse. :)Pash
They have? The only place I found to download it requires a registration. Please post a link.Jacintajacinth
@Nemi: it's part of standard subclipse installation, you just have to check it in features to be installed.Inclined
Why not just incorporate the new info into the post itself?Aura
U
24

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

Unwise answered 14/9, 2008 at 13:15 Comment(3)
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! :)Crackerjack
Which blog entry do you mean?Consequence
The one deleted since the first version of this answer.Electric
M
19

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.

Meza answered 14/9, 2008 at 13:15 Comment(4)
You still need some Eclipse plugin to hide the ugly .svn folders (exclude them from search etc.)Tetrahedral
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.Connie
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.Pursuance
I never got it running on Linux.Sinotibetan
S
15

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.

Sherylsheryle answered 14/9, 2008 at 13:15 Comment(5)
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.Lithoid
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.Sherylsheryle
I had exactly the opposite experience. For Subversive, it depends on whether you picked the SVNkit provider or the Javahl?Metro
I'm not sure (I was using the default). I've stopped using either one in favor of git-svn.Sherylsheryle
I tried using the default "provider" in Subversive, but it didn't work. Had to track down an SO question about it to find the option to change it.Lucianolucias
T
14

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.

Timbrel answered 14/9, 2008 at 13:15 Comment(2)
This is blatantly untrue. I use Subversive, TortoiseSVN and subversion side-by-side without any issues whatsoever. I do not recall having any issues with compatibility back in the day when I used Subclipse.Connie
This was back in Dec 2009. I would hope that the clients have started behaving since then :)Timbrel
M
12

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.

Monge answered 14/9, 2008 at 13:15 Comment(1)
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.Presumption
C
8

Certainly both IDE plugins have their issues. But neither precludes the parallel use of other solutions like TortoiseSVN or command-line. I use all three for my projects at work.

The important thing to remember is that all your client SVN software should use the same SVN file format--which differs between versions of SVN--or you are asking for trouble.

Another issue we found is when your client software uses a different SVN file format than the server. (By file format, I mean the way all the information is represented in all those seemingly invisible .svn files that effectively record what SVN needs to know about your project files.) That can wreak havoc. There's a documented bug between 1.5 server and 1.6 clients, but I can't find the link right now.

We had issues running the superior (IMO) Subclipse 1.6 plugin because of incompatibilities with our SVN 1.5.5 server. So we reverted to Subversive. It works fine, albeit slow and somewhat buggy (but improving). We will switch to Subclipse when our server is updated, though. And yes, we check out our projects with TortoiseSVN and import them into Eclipse (it's faster).

We found that, as other posters said here, it would NOT work if we ran newer versions of TortoiseSVN that wrote files in 1.6.x format, but when we reverted to TortoiseSVN 1.5.x, it worked just fine. The same was true of the command-line client (which we leverage with our Ant tasks).

Canaille answered 14/9, 2008 at 13:15 Comment(0)
M
7

If you are using svn+ssh as the protocol to access your repository I strongly suggest you to choose Subclipse: Subversive is not intelligent enough to remember your credentials properly and prompts you for username and private key every single time you update your working copy and also for each svn-external you may have set up.

The "remember credentials" options is broken in this context and has been since the first public release of Subversive.

Monge answered 14/9, 2008 at 13:15 Comment(1)
That's what made me choose Subclipse, too. Subversive just can't handle the "svn+ssh" scheme.Lozenge
M
6

If you are using one of them in your company and maybe even want to bundle them in own Eclipse-based products, your life is much easier with Subclipse, because it is available under the business-friendly Eclipse Public License.

Subversive on the other hand needs so-called connectors to fully work. And those have separate and different licenses. So you may end up with two or three different licenses just for the Subversive functionality, while all other Eclipse plugins are just under that one EPL. That's also the reason why those connectors are not hosted at eclipse.org.

And that's why they are downloaded dynamically after the Subversive installation (which also means that simply mirroring the eclipse.org update site does not give you a usable Subversive offline installation in your company network).

Monge answered 14/9, 2008 at 13:15 Comment(0)
M
6

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 it's 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.

Monge answered 14/9, 2008 at 13:15 Comment(0)
C
6

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 TortoiseSVN as a backup.

Chiao answered 14/9, 2008 at 13:15 Comment(0)
M
5

If you use TortoiseSVN and regularly update the version you may find Eclipse with Subversive losing all SVN information and throwing some scary errors.

The reason being the new version of TortoiseSVN 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 the SVNKit connector, so TortoiseSVN 1.5.x will work with Eclipse SVNKit connector 1.5.x and TortoiseSVN 1.6.x will work with Eclipse SVNKit connector 1.6.x.

Monge answered 14/9, 2008 at 13:15 Comment(0)
G
5

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.

Graphic answered 14/9, 2008 at 13:15 Comment(0)
P
4

Subversive has more advantages than the Subclipse as listed below. But just one feature Subversion does not have is so critical about using branches. So we have to use Subclipse.

Subversive advantages:

  • View and icons are more informative
  • After commit sync items are refreshed, committed file is closed.

Subclipse advantage

  • ability to compare two branches
Penuchle answered 14/9, 2008 at 13:15 Comment(0)
M
4

+1 Subclipse
-1 Subversive

Subversive gets confused after even minor refactoring and has validation issues as above.

Environment: STS 2.7.2 (based on Galileo)

Monge answered 14/9, 2008 at 13:15 Comment(0)
I
3

While I got both working with Helios, I have a slight preference for Subclipse because of its excellent support for bugtraq properties (details here).

The History view shows a separate column (titled bugtraq:label, displaying BUGIDs), and the context menu has a dedicated action to "Open Bug URL" (linking to bugtraq:url) -- I couldn't figure out how to access any of this info with Subversive.

Insignificant answered 14/9, 2008 at 13:15 Comment(0)
B
3

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.

Bisque answered 14/9, 2008 at 13:15 Comment(0)
S
3

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.

Slog answered 14/9, 2008 at 13:15 Comment(3)
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?Lithoid
No, Subclipse keeps working in later versions. For earlier versions, it's your only choice.Telfer
Subversive is an "official" Eclipse project. Subclipse is an "official" tigris project (the people who also make subversion).Timbre
F
2

The advantage of Subclipse over Subversive... IT ACTUALLY WORKS!

I used Subclipse a long time ago when developing a collaborative plugin for Eclipse that depended on Subclipse. The Subclipse part of the plugin was never a problem, although the whole Ant thing still confuses me a bit, but the good part is you don't have to understand how the Ant part works to know how to use it.

I am attempting to install PDT today (which is a whole other blog) and then Subversive because, like many, it is portrayed as "The Eclipse SVN Plugin". I was unable to install the four connectors at once, so I had to install them one at a time and one at a time I tried them, and one at a time it could not authenticate with the SVN server.

I am trying PDT and Subversive, because I want to SAVE time, not spending more of it on different issues with a plugin.

I uninstalled Subversive, installed Subclipse, and connected just like that.

Save yourself the time and hassle, go Subclipse from the start.

Feverfew answered 14/9, 2008 at 13:15 Comment(0)
C
2

We tried both in our team.

Since Subclipse (the one from Galileo/Helios) had some trouble authenticating our SVN server via VAS, we had no problem elsewhere, i.e. TortoiseSVN client, browsers (except Internet Explorer 7).

So we installed Subversive and the problem was resolved.

Cymbal answered 14/9, 2008 at 13:15 Comment(0)
M
2

FWIW, we are using an ancient version of SVN server (1.4 something), and I seem to remember that at one point there was an update to Subclipse that broke backward compatibility, and the gist was "nobody should be on such an old version of SVN anyway".

Subversive was the only one that seemed to be able to handle the older version. I can't remember the details, though, sorry.

Monge answered 14/9, 2008 at 13:15 Comment(0)
O
2

I have just discovered that I cannot figure out how to view a properties diff with Subclipse. In Subversive you select two revisions in the history view, right-click and select compare properties from the popup. This is enough for me to stick with Subversive.

The reason for trying to switch was Subversive's strange behavior on OS X: Some automatic operation called 'svn cache update' hogged the CPU at abnormal levels after every 'svn update' run, always taking an annoyingly long time to complete.

Oversubtlety answered 14/9, 2008 at 13:15 Comment(0)
T
2

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
Tinney answered 14/9, 2008 at 13:15 Comment(0)
A
2

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.

Alephnull answered 14/9, 2008 at 13:15 Comment(0)
C
2

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.

Crackerjack answered 14/9, 2008 at 13:15 Comment(0)
M
1

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.

Monge answered 14/9, 2008 at 13:15 Comment(0)
M
1

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).

Monge answered 14/9, 2008 at 13:15 Comment(0)
M
-2

If you are using Zend Studio 9, Zend's implementation of Eclipse, I recommend using Subclipse instead of Subversive which comes shipped with Zend Studio be default.

I have posted a problem with Subversive and Zend Studio 9 and my solution of using Subclipse instead on the Zend forums.

Monge answered 14/9, 2008 at 13:15 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.