Subclipse with SVNKit Adapter
Asked Answered
C

2

25

I have two questions and some context.

I am installing Subclipse 1.4.x into Eclipse Ganymede and I'm thinking that I should use the SVNKit Adapter. I'm using Ubuntu 8.04 which comes with Subversion 1.4.x and since the JavaHL Adapter requires Subversion 1.5.x using a pure Java solution like SVNKit seems like a good solution.

Which pros and cons do you see with using the SVNKit Adapter?

I can't find any documentation on what the JNA Library, SVNKit Client Adapter and SVNKit Library actually provides. And I'm interested in knowing what I install. What do they provide?

alt text

Casandracasanova answered 16/2, 2009 at 12:14 Comment(0)
P
27

Feature-wise, both kits provide the same amount of functionality. SVNkit was specifically developed with Subclipse in mind, so no surprises there.

Speed-wide, they are also similar. This is no big surprise because Subversion is usually I/O bound (Waiting for the SVN server to deliever the data will always take longer than what the SVN client library does on your computer).

Subversion 1.5 has some drastic speed improvements but that doesn't apply in your case.

The main difference is that you don't need the correct version of javahl installed in your computer. For Linux, this is often a problem because it means you need to set up the env variable LIBRARY_PATH for Eclipse so the shared library can be loaded correctly plus you might need to compile the library yourself if you can't find a package which fits your needs. In your case, Ubuntu should come with a precompiled library but that library is for Subversion 1.5. It should fall back gracefully when you connect to a 1.4 server, though.

The Subclipse guys support SVNkit but I've had issues with it in the past (that was several years ago; I'm positive this has improved considerably since). They were fixed pretty fast, too.

All considered, I think you're better off with the SVNkit since it's way easier to setup.

[EDIT] As to "What should I download", I think you need everything below "SVNKit Adapter (optional)", that is all three components (see the SVNKit FAQ).

Parameter answered 16/2, 2009 at 12:27 Comment(5)
Thanks for your informative reply! Do you also happen to know which of the three components under SVNKit Adapter I actually need? (Google wasn't my friend)Casandracasanova
All right, it seems JVA is a good thing but it's licensed as LGPL which not all users like. Personally I do not care. Do you know of any incompatibilities with the normal native SVN-client? (Except version incompatibilities 1.5<->1.4 etc which is understandable that they may exist.)Casandracasanova
Also, in my case I'm using Ubuntu 8.04 (Hardy),not 8.10 (Intrepid). The version I am using comes with Subversion 1.4. I couldn't get JavaHL to work, so I'm going for SVNKit now. I just hope it won't cause problems for other developers using native SVN-clients (I'm connecting to a native SVN-server).Casandracasanova
Kent: There are incompatibilities between 1.4 and 1.5 but IIRC, this only means that you can't use certain features of the server which make SVN a lot faster for certain operations. It won't break anything, though. And I haven't noticed any speed problems, either.Parameter
Maybe the new features aren't used by Subclipse or something.Parameter
G
10

I'd always recommend using JavaHL if possible. JavaHL uses the same native Subversion libraries as the command line client and so you get maximum compatibility. Of course, as you point out, using SVNKit is certainly easier. We do have an FAQ to help with getting JavaHL working though:

http://subclipse.tigris.org/wiki/JavaHL

As for the JNA library, I believe that SVNKit uses it for things that cannot easily be done from Java. For example, on Linux working with symlinks and setting permissions on files.

Graphite answered 16/2, 2009 at 14:4 Comment(5)
Are you saying that SVNKit isn't compatible with the command line SVN client in some way? When it comes to JavaHL, it doesn't require specific versions of Subversion? (In my case, it doesn't require Subversion 1.5.) For the last question, I'll do a trail and error myself now. :-)Casandracasanova
I used these instructions ( tinyurl.com/cv7foj ) trying to get Eclipse 3.4 (Ganymede) + Subversion 1.4 + Subclipse 1.4 working using the JavaHL Adapter, without luck. I think it requires Subversion 1.5 and can't use 1.4.Casandracasanova
That's the problem with JavaHL.Parameter
did you find a way to work out the problem of the constant prompting of certificate and passphrase request when exploring a SVN tree?Truda
If one is not interested in compatibility with the command-line client (e.g. they never use the command-line), there's not much reason to use JavaHL. SVNKit makes more sense.Intertwine

© 2022 - 2024 — McMap. All rights reserved.