Login | Register
My pages Projects Community openCollabNet


SVNClientAdapter is a high-level Java API for Subversion.
It can use one of 3 low-level svn client implementations to provide access to the Subversion API:

  • JavaHL native (JNI) subversion library (http://svn.collab.net/repos/svn/trunk/subversion/bindings/java/javahl/)
  • JavaSVN (pure Java) subversion API implementation (http://tmate.org/svn/)
  • svn(.exe) command line client wrapper

Why should I use SvnClientAdapter instead of javahl ?

SvnClientAdapter is a higher level API (comparing to javahl ...). That's why svnClientAdapter is easier to use in many cases.
For example, you can use ISVNClientAdapter addToIgnoredPatterns method to add a pattern of files to ignore to a directory.

public abstract void addToIgnoredPatterns(File path, String pattern)

throws SVNClientException;

With javahl, it would have been necessary to get the svn:ignore property, parse it, verify that the pattern is not already set, add the pattern to the property string and then set the property.

Besides the simpler use, it provides unified adapter to the low-level APIs enabling seamless interchange of the underlying library. (e.g. in case JavaHL is not available, command line wrapper can be used without any impact to existing code)


Javadoc documentation is included in the distributed file


You can browse the latest source here.

Otherwise you can check out the newest SvnClientAdapter source using svn:

   svn co http://subclipse.tigris.org/svn/subclipse/trunk/svnClientAdapter/ svnClientAdapter