Subversion API bindings

The layered library-based architecture of Subversion's canonical C language implementation presents an easily hackable API around which to create bindings for other languages. Existing bindings generally cover the Subversion client API.

"Version control with Subversion" has some coverage of bindings, and a list of full blown client applications.

Python

Status
Mostly complete and maintained
Type
SWIG-based, no Python-friendly veneer
Location
http://svn.collab.net/repos/svn/trunk/subversion/bindings/swig/python/

Java

Subversion javahl bindings

Status
Complete, not up to date with latest version of SVN
Type
Hand-coded JNI in C++, Java-friendly veneer
Notes
Auto-loads native libraries. Originally from the svnup project, a plug-in for the IDEA IDE.
Location
http://svn.collab.net/repos/svn/trunk/subversion/bindings/java/javahl/

Subversion SWIG-Java bindings

Status
Incomplete
Type
SWIG-based, Java-friendly veneer
Notes
Auto-loads native libraries.
Location
http://svn.collab.net/repos/svn/trunk/subversion/bindings/swig/perl/

Alternate Computing jsvn bindings

Status
Mostly complete and up to date
Type
Command-line binary wrapper
Notes
Includes GUI and Ant tasks. Requires installation of the native command-line client.
Location
http://jsvn.alternatecomputing.com/

Perl

Status
Mostly complete?
Type
SWIG-based
Location
http://svn.collab.net/repos/svn/trunk/subversion/bindings/swig/perl/

Ruby

Status
Removed
Type
Hand coded
Notes
Due to age, would require significant effort to resurrect.
Location
http://svn.collab.net/repos/svn/trunk/subversion/bindings/ruby/

$LastChangedDate$