我有两个问题和一些背景。
我正在将Eclipse 1.4.x安装到Eclipse Ganymede中,我想我应该使用SVNKit适配器。我正在使用Subversion 1.4.x附带的Ubuntu 8.04,并且由于JavaHL适配器需要Subversion 1.5.x,使用像SVNKit这样的纯Java解决方案似乎是一个很好的解决方案。
您使用SVNKit适配器有哪些优缺点?
我找不到任何关于JNA库,SVNKit客户端适配器和SVNKit库实际提供的文档。而且我很想知道我安装的是什么。他们提供什么?
功能方面,两个套件都提供相同数量的功能。 SVNkit是专门针对Subclipse开发的,所以没有惊喜。
速度范围广,它们也很相似。这并不是什么大惊喜,因为Subversion通常是I / O绑定的(等待SVN服务器发送数据的时间总是比SVN客户端库在您的计算机上所做的更长)。
Subversion 1.5有一些急剧的速度改进,但不适用于您的情况。
主要区别在于您不需要在计算机中安装正确版本的javahl。对于Linux,这通常是一个问题,因为这意味着您需要为Eclipse设置env变量LIBRARY_PATH,以便可以正确加载共享库,如果找不到适合您的软件包,您可能需要自己编译库。需要。在您的情况下,Ubuntu应该带有预编译库,但该库用于Subversion 1.5。但是,当您连接到1.4服务器时,它应该优雅地回退。
Subclipse的人支持SVNkit,但我过去曾遇到过这个问题(那是几年前的事了;我很肯定,自从这个问题以来已经有了很大的改进)。他们也很快修好了。
考虑到所有这些,我认为你最好使用SVNkit,因为它更容易设置。
[编辑]关于“我应该下载什么”,我认为您需要“SVNKit适配器(可选)”下面的所有内容,即所有三个组件(请参阅SVNKit FAQ)。
如果可能的话,我总是建议使用JavaHL。 JavaHL使用与命令行客户端相同的本机Subversion库,因此您可以获得最大的兼容性。当然,正如您所指出的,使用SVNKit肯定更容易。我们有一个常见问题解答来帮助JavaHL工作:
http://subclipse.tigris.org/wiki/JavaHL
至于JNA库,我相信SVNKit将它用于那些用Java无法轻易完成的事情。例如,在Linux上使用符号链接并设置文件权限。