CL uses the svnClientAdapter library from the subclipse project to interact with SVN.
The svnClientAdapter allows the user to choose which adapter to use; The first option is the native JavaHL library, and the second option is the svn.exe command-line. While the JavaHL adapter is generally more performant, it is could be significantly harder to set up than the svn.exe command-line adapter.
To enable the use of SVN on Windows, the following steps must tbe taken:
1. Download and install the latest stable SVN distribution. Add its bin/ subdirectory to the PATH environment variable. If everything was gotten right, the svn.exe should now be accessible from the command line.
2. From exactly the same download page, download the matching javahl archive (e.g. if you downloaded svn-1.3.2, the javahl library should be javahl-1.3.2). Unzip the archive to temporary directory, and copy the libsvnjavahl-1.dll to the bin/ subdirectory of the main SVN installation. Note: Downloading javahl alone won't suffice; Its functioning depends on the libraries of the main SVN installation.
To enable to use of SVN on different flavours of Unices, please consult with the SVN documentation. Additional information about getting JavaHL adapter to function could be found at subclipse FAQ page.
The default behaviour of CL is to attempt to use the JavaHL adapter before the svn.exe command-line adapter. If the JavaHL adapter fails to load (the most probable cause for which is that the search path for libsvnjavahl-1 and/or its supporting libraries is not specified using environmental variables), a message “Couldn't load JavaHL client” is printed. The JavaHL library is expected to be in PATH on Windows systems and on LD_LIBRARY_PATH on Unix/Linux systems (run ldconfig when you have added system libraries).
If JavaHL was not found, the client then continues with the svn command-line adapter initialization. If this fails (the most probable cause for which is that svn.exe is not listed on the environmental variable PATH), a message “Couldn't load command-line client” is printed. Now that CL has no client adapters at its disposal, it exits with appropriate error message.
CL uses the property cl.vcs.repository to identify the SVN repository to work on.
Depending on its level of personalization, it should be placed into changelogic-personal.properties or changelogic-project.properties.
Just as with CVS, CL does not perform automatic login. So if the specified SVN repository requires authentication, this must be performed beforehand (once per session) from the command-line. For example, one could attempt the checkout of the latest version – svn checkout svn://myserver.example.com/var/svn/myproject/latest myproject
CL has been tested with svn:// and svn+ssh:// protocols.
Known limitation: When attempting to access SVN repository with Eclipse plugin using svn.exe command-line adapter and svn+ssh:// protocol under Windows, the ssh.exe process is created windowless (i.e. ssh.exe appears in Task Manager's processes list, but no console is opened for password input). Possible workarounds include configuring JavaHL adapter and using that instead of svn.exe command-line adapter, or running ssh-agent on the background that takes care of interacting with ssh.exe.