SVNKit Home

SVNKitTM - the only pure JavaTM Subversion client library in the World.

See:
Description

Packages
org.tmatesoft.svn.core: This package mostly contains common classes as well as interfaces used throughout all the library.
org.tmatesoft.svn.core.auth: This package contains interfaces/classes used by the library to authenticate a user to a repository server.
org.tmatesoft.svn.core.io: This package provides a low-level API for direct interacting with a Subversion repository on the SVN protocol level.
org.tmatesoft.svn.core.io.diff: This package contains the classes necessary for such purposes as: generating delta windows upon comparing target bytes against source ones (also may be vs. empty), applying delta windows to files, serializing windows to byte buffers.
org.tmatesoft.svn.core.javahl: This package provides an implementation of the native Subversion javahl binding interface SVNClientInterface that is distributed within the org.tigris.subversion.javahl package.
org.tmatesoft.svn.core.replicator: This package provides classes that allow to replicate existing repositories.
org.tmatesoft.svn.core.wc: This package provides a high-level API for managing Working Copies in a way compatible with the native SVN command line client.
org.tmatesoft.svn.core.wc.admin: This package provides API for administrative managing Subversion repositories on a local machine.
org.tmatesoft.svn.core.wc.xml: This package gives an advantage to write annotation, status and log information in xml format to any SAX ContentHandler implementation.

SVNKitTM - the only pure JavaTM Subversion client library in the World.

SVNKitTM is a powerful pure Java Subversion (SVN) client library. This means that users of the library, i.e. java applications do not have to include SVN native binaries or javahl bindings to work with a Subversion repository.

The library represents two main concepts for developers who use a Subversion repository in their projects:

- Low-level API - the package org.tmatesoft.svn.core.io - a solution for those developers who doesn't need to work with the native Subversion high-level format known as 'Working Copy' - that is when all local files are stored in a filesystem and all version controll metadata is concentrated in .svn directories. For instance, those developers who would like to customize managing versioned files - like storing and managing versioned data as well as all metadata within a data base - will certainly find this package pretty suitable for their purposes.

- High-level API - the package org.tmatesoft.svn.core.wc - this is a set of classes and interfaces designed to provide developers means for working particularly with the native Subversion client's format - 'Working Copy'. All the commands supported by the SVN command line client can be also easily performed by using this high-level API. Obviously in those cases when an operation needs an access to a repository this high-level API uses the low-level one.

# Features

Currently SVNKit supports the following repository access protocols:

- svn://, svn+ssh://
- http://, https://
- file:/// (for FSFS-type repositories)

Low level repository access, that allows to access and manipulate repository efficiently without creating working copies or using custom, non-file based, working copy.

Support of SVN 1.4.x Working Copy format. All Subversion operations over working copy are supported, plus smart move operation that, for instance, allows to move already moved files.

Local repository access over 'file' protocol (for FSFS repositories).

Administrative functionality:

- Creation of local FSFS-type (Subversion compatible) repositories with the latest format version.
- Repository replication (svnsync) both with 1.4.x servers and older ones.
- load/dump, remove/list uncommitted transactions
- local repository examining features (like svnlook)

svn+xxx:// URL schemes (not only svn+ssh). SVNKit API gives a user an ability to define tunnel providers which are responsible for matching subprotocol names (xxx) to tunnel command lines.

SVNKit Home

Copyright © 2004-2008 TMate Software Ltd. All Rights Reserved.