带有 SVNKit 适配器的 Subclipse
我有两个问题和一些背景。
我正在将 Subclipse 1.4.x 安装到 Eclipse Ganymede 中,并且我认为应该使用 SVNKit 适配器。 我使用的是 Ubuntu 8.04,它附带了 Subversion 1.4.x,并且由于 JavaHL 适配器需要 Subversion 1.5.x,因此使用 SVNKit 等纯 Java 解决方案似乎是一个不错的解决方案。
您认为使用 SVNKit 适配器有哪些优点和缺点?
我找不到任何有关 JNA 库、SVNKit 客户端适配器和 SVNKit 库实际提供的内容的文档。 我有兴趣知道我安装了什么。 他们提供什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在功能方面,两个套件提供相同数量的功能。 SVNkit 是专门针对 Subclipse 开发的,所以这并不奇怪。
在速度方面,它们也很相似。 这并不奇怪,因为 Subversion 通常受 I/O 限制(等待 SVN 服务器传送数据的时间总是比 SVN 客户端库在计算机上执行的时间长)。
Subversion 1.5 有一些显着的速度改进,但这不适用于您的情况。
主要区别在于您不需要在计算机上安装正确版本的 javahl。 对于 Linux,这通常是一个问题,因为这意味着您需要为 Eclipse 设置环境变量 LIBRARY_PATH,以便可以正确加载共享库,而且如果找不到适合您的包,您可能需要自己编译该库。需要。 就您而言,Ubuntu 应该附带一个预编译库,但该库适用于 Subversion 1.5。 不过,当您连接到 1.4 服务器时,它应该会正常回退。
Subclipse 的人支持 SVNkit,但我过去曾遇到过问题(那是几年前的事了;我确信从那以后这已经有了很大的改善)。 它们也很快就被修复了。
综合考虑,我认为您最好使用 SVNkit,因为它更容易设置。
[编辑]至于“我应该下载什么”,我认为您需要“SVNKit 适配器(可选)”下面的所有内容,即所有三个组件(请参阅 SVNKit 常见问题解答)。
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).
如果可能的话,我总是建议使用 JavaHL。 JavaHL 使用与命令行客户端相同的本机 Subversion 库,因此您可以获得最大的兼容性。 当然,正如您所指出的,使用 SVNKit 肯定更容易。 我们确实有一个常见问题解答来帮助 JavaHL 正常工作:
http://subclipse.tigris.org/wiki/ JavaHL
至于 JNA 库,我相信 SVNKit 使用它来完成 Java 无法轻松完成的事情。 例如,在 Linux 上使用符号链接并设置文件权限。
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.