Documentation for FishEye 3.0.x. Documentation for other versions is available too.

Native Client

FishEye does not support SVN 1.7.x with the native client.

FishEye can use a native Subversion client installed on your system, but your client needs to be version 1.2 or later, and must include the JavaHL bindings. FishEye can use all of the protocols supported by your native client.

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.

Acquiring native Subversion libraries for your operating system

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.

  • Subversion for Windows:
    To install Subversion for Windows, visit this page
    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 (for example, svn-win32-1.4.6_javahl.zip at the time of writing).
  • Subversion for 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.

  • Subversion for 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.

Native Client Configuration

There are two ways you can configure the path to your Subversion client: Via the FishEye user interface, or by editing the config.xml configuration file.

Configuring your Native Client in the FishEye User Interface

You can configure your Subversion client in the FishEye Administration screens: click Server (under 'Global Settings') and look for the 'Subversion client' section.

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.
(warning) Due to a bug in earlier versions of the JavaHL bindings, setting this value is ineffective unless you are using a Subversion client 1.2.3 or later.

Configuring your Native Client in the FishEye Configuration File

An alternative method to using the FishEye user interface is editing the <svn-config> section of your config.xml. 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

6 Comments

  1. Anonymous

    HI,when use different user config svn repository, the result always show forbidden? why ?

    when use Native client, always error :SVN is requesting password too often for realm  ?

    help please.

     

    svn: 1.6.12

    jdk:1.6

    os:debian 6

  2. Anonymous

    I think it will not work with the svnjavahl.jar and libsvnjavahl-1.dll from svn-win32-1.7.X_javahl.zip because FishEye does not have native SVN Support for 1.7 yet (https://jira.atlassian.com/browse/FE-3840) . Instead you will need to use the svnjavahl.jar and libsvnjavahl-1.dll from svn-win32-1.6.20_javahl.zip 

  3.  

    How can I set up Fisheye 2.10.x with TurtoiseSVN as client on Windows 7? I use the TurtoiseSVN.dll, but of course it does not have a *.jar file.

  4. Same problem. How can I set it on Windows Server 2008?

  5. For Ubuntu, the package name is libsvn-java not libsvn-javahl

    1. Thanks, the doc has been updated accordingly.