title: Java Subversion libraries
body: <p>I've been researching Java APIs for Subversion (SVN). It seems there are 3 available:</p>
  
  <ul>
  <li>JavaHL - part of the SVN project. Provides a relatively low-level API</li>
  <li>svnClientAdapter - part of the Subclipse project. Provides a relatively high-level API</li>
  <li>SVNKit - unlike the other 2, this provides a 100% Java implementation of the SVN protocol, i.e. no native libaries must be installed. It provides a high-level API, a low-level API, an implementation of JavaHL, and a command-line client that uses SVNKit for it's implementation.</li>
  </ul>
  
  <p>I have no practical experience with any of these APIs, but assuming the above is true, SVNKit looks like a clear winner. I know from experience that appearances can be deceiving, so am looking for feedback from someone who has actually used one or more of these libraries. Is SVNKit the runaway winner, as suggested above, or is there a better choice.</p>
  
  <p>I guess the answer will depend on what I'll be doing with the API, and (perhaps surprisingly), the answer is mostly writing, e.g. adding, updating and deleting files, creating projects and repositories, branching, etc.</p>
  
  <p>Thanks!
  Don</p>