- SVNKit
Infobox Software
name = SVNKit
caption =
developer = TMate Software Ltd.
released = initial release|2004|11|05
latest_release_version = 1.2.0
latest_release_date = release_date|2008|09|30
operating_system =Cross-platform
programming_language = Java
genre = Software Library
license = Dual license:GPL -like license foropen source projects and commercial license forclosed source projects
website = http://svnkit.com/SVNKit is an
Open Source , pure Java software library for working with Subversionversion control system . It implements virtually all Subversion features and providesAPI to work with Subversion working copies, access and manipulate Subversion repositories.Features
Major SVNKit features are:
* Repository access over http(s)://, svn(+ssh):// and file:// protocols.
* Support for all working copy operations.
* Repository administration: create, load, dump and replay operations.
* Low-levelAPI that allows to interact with Subversion repository directly on Subversionprotocol level.
* Complete JavaHL API implementation.
* SVNKit is known to work onWindows ,OSX ,Linux ,BSD ,OS/2 andOpenVMS .
* SVNKit isJDK 1.4 compatible.Features available in the native Subversion client, but missing in SVNKit:
* Local access (file://) toBerkeley DB based repositories (SVNKit only provides local access to default FSFS type of repositories).
* Experimental "Serf" HTTP access (SVNKit only provides support forDAV access).
* Some of HTTP authentication methods (e.g. SSPI) are not fully supported by the latest version of SVNKit.Command line client
Part of SVNKit library is a
command line Subversion client implemented on top of SVNKit. It is compatible with the native Subversion command line client and may be used in environments where it is not possible to install native Subversion or from within applications (e.g.Apache Ant scripts) that could not rely on the native Subversion presence.Competition
JavaHL is a JNI wrapper of the native Subversion C code. JavaHL could be used instead of SVNKit in most of the use cases.
However, SVNKit implements JavaHL API and thus both SVNKit and Subversion JNI wrapper could be used simultaneously to let user choose what suits his environment better. A fair comparison of SVNKit and JavaHL could be found in [http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.developer.usingapi.otherlangs Subversion Book] . Both SVNKit and JavaHL has their own advantages and disadvantages.
Licensing
SVNKit implements a
dual licensing scheme. By default SVNKit is licensed under a licensing terms similar to those ofGPL , that means, in general, that there are no restrictions or limitations on SVNKit usage as long as it is being used in anOpen Source project.For
closed source projects commercial license has to be purchased.History
In 2005, a software company called TMate Software Ltd. announced the 1.0.0 release of JavaSVN — a pure Java Subversion client library. Since then, the project has been renamed to SVNKit.
Versions of SVNKit prior to 0.9.3 were licensed under
BSD license terms, later licensing scheme has been changed todual licensing .Adoption
SVNKit is known to be used in:
*SmartSVN SubversionGUI client by the company [http://www.syntevo.com/ Syntevo] .
*IntelliJ IDEA IDE by the companyJetBrains .
*TeamCity Continuous Integration Server by the companyJetBrains .
*Subclipse - Eclipse Subversion plugin.
* [http://eclipse.org/subversive/ Subversive Team Provider for Eclipse] - another Eclipse Subversion plugin.
*Jira bug tracking system by the companyAtlassian .
*FishEye revision control browser by the companyAtlassian .
*JDeveloper by Oracle.
* and many other products...See Also
*Subversion
*Version Control System
*JavaExternal Links
* [http://svnkit.com/ SVNKit home web site]
* [http://subversion.tigris.org/ Subversion home web site]
* [http://svnbook.red-bean.com/ Subversion book]
Wikimedia Foundation. 2010.