Native Subversion Client

FishEye can use a native Subversion client installed on your system, but your client must include the JavaHL bindings. FishEye can use all of the protocols supported by your native client.

Please see Native support for SVN for information about FishEye native client compatibility.

Please see the Supported Platforms page for information about the versions of Subversion clients that are supported by FishEye.

Getting native client libraries

Pre-compiled native clients are available for most platforms. The Subversion download page links to platform specific distributions. Ensure you get the binary that includes JavaHL bindings, as well as the standard package. Also ensure that the versions of the JavaHL and standard packages match.

Windows

To install Subversion for Windows, visit http://subversion.apache.org/packages.html.
You need to download the standard package as well as the JavaHL version. The standard package is named svn-X.Y.Z-setup.exe and the JavaHL installer file is named svn-win32-X.Y.Z_javahl.zip where 'X.Y.Z' refers to the version number.

On this page:

Fedora Linux

For Linux systems using the yum package manager (such as Fedora Core 3 and above) you can type the following:

yum install subversion-javahl

at the Linux command line interface to install the JavaHL bindings for Subversion. Note that this will also install the standard Subversion library, which is required.

Ubuntu and Debian Linux

For Linux systems using the apt-get package manager (such as Debian and Ubuntu) you can type the following:

apt-get install libsvn-java

at the Linux command line interface to install the JavaHL bindings for Subversion. Note that this will also install the standard Subversion library, which is required.

Configuring the native client

You can configure the path to your native Subversion client either by using the FishEye admin interface, or by editing the config.xml configuration file.

The JavaHL bindings include a Java .jar file, typically named javasvnhl.jar, and a dynamic library such as libsvnjavah-1.so or libsvnjavahl-1.dll. FishEye must be configured so it can find both the .jar and the dynamic library.

If the JavaHL dynamic library is in your library path (such as %PATH% on Windows), then FishEye will automatically find it. Otherwise you can tell FishEye where it is, or set the FISHEYE_LIBRARY_PATH environment variable before starting FishEye.

Using the FishEye admin console

To set the path to the native client:

  1. Go to the admin area in FishEye.
  2. Click Server (under 'Global Settings').
  3. Click Edit Details (under 'Subversion client').
  4. Enter the path to the jar file and the dynamic library for the Subversion client:

    JAR

    The path to the JavaHL .jar.

    Dynamic library

    The path to the dynamic library, if it is not already on your system's library path.

  5. Click Update.
  6. Restart your FishEye server.

Using the FishEye config file

You can set the path to the native client by editing the <svn-config> section of your FishEye config.xml file. If you change these settings, you need to restart FishEye.

Windows platform example (change path locations as required)

<svn-config jar="C:\subversion\lib\svn-javahl.jar" jnilib="C:\subversion\lib\libsvnjavahl-1.dll"/>

Mac OS X platform example (change path locations as required)

<svn-config jar="/opt/subversion/lib/svn-javahl/svn-javahl.jar" jnilib="/opt/subversion/lib/libsvnjavahl-1.dylib"/>

Linux platform example (change path locations as required)

<svn-config jar="/usr/share/subversion/lib/svn-javahl.jar" jnilib="/usr/lib/libsvnjavahl-1.so"/>

Performance impact of native client

In general, using the JavaHL libraries should improve the speed of FishEye's indexing when compared to SVNKit, primarily because of the advantage of native code. However, some customers have experienced more peak memory usage (some more than 2GB) during indexing when using JavaHL implementations due to greedier processing. This is generally not a major concern, but your own performance requirements may vary.

If you need to allocate more than 2GB for the indexing to complete, please run Fisheye with a 64-bit JDK.

Was this helpful?

Thanks for your feedback!

Why was this unhelpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport