JavaSVN Home

## Package 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.

See:
Description

Interface Summary
ISVNAnnotateHandler: The ISVNAnnotateHandler interface should be implemented to be further provided to SVNLogClient's doAnnotate() methods for processing annotation information per each text line.
ISVNCommitHandler: The ISVNCommitHandler should be implemented to provide an ability to manage commit log messages for items to be committed in a common transaction.
ISVNDiffGenerator: The ISVNDiffGenerator should be implemented by drivers generating contents difference between files in order to be used in 'diff' operations performed by SVNDiffClient.
ISVNEventHandler: The ISVNEventHandler interface should be implemented in order to be further provided to an SVN*Client object as a handler of a sequence of events generated by SVN*Client's do*() methods.
ISVNInfoHandler: The ISVNInfoHandler interface should be implemented in order to be further provided to some of SVNWCClient's doInfo() methods to process information about Working Copy as well as remote (located in a repository) items.
ISVNMerger: ISVNMerger is the merger driver interface used by JavaSVN in merging operations.
ISVNMergerFactory: The ISVNMergerFactory interface should be implemented in order to be used as a factory of merger drivers intended for merging operations.
ISVNOptions: The ISVNOptions interface should be implemented to manage global run-time configuration options.
ISVNPropertyHandler: The ISVNPropertyHandler interface should be implemented to be further provided to SVNWCClient's property managing methods for handling properties.
ISVNRepositoryPool: The ISVNRepositoryPool interface is used by SVN*Client objects to create a low-level SVN protocol driver that allows them to directly work with a repository.
ISVNStatusHandler: The ISVNStatusHandler interface should be implemented in order to be further provided to some of SVNStatusClient's doStatus() methods to handle status information of Working Copy items.

Class Summary
DefaultSVNCommitHandler: This is a default implementation for ISVNCommitHandler.
DefaultSVNDiffGenerator: DefaultSVNDiffGenerator is a default implementation of ISVNDiffGenerator.
DefaultSVNRepositoryPool: The DefaultSVNRepositoryPool class is a default implementation of the ISVNRepositoryPool interface.
SVNBasicClient: The SVNBasicClient is the base class of all SVN*Client classes that provides a common interface and realization.
SVNBasicClient.RepositoryReference
SVNBasicClient.SVNRepositoryLocation
SVNClientManager: The SVNClientManager class is used to manage SVN*Client objects as well as for providing them to a user what makes the user's work easier and his code - pretty clear and flexible.
SVNCommitClient: The SVNCommitClient class provides methods to perform operations that relate to committing changes to an SVN repository.
SVNCommitItem: The SVNCommitItem represents a versioned item that is to be committed to a repository.
SVNCommitPacket: The SVNCommitPacket is a storage for SVNCommitItem objects which represent information on versioned items intended for being committed to a repository.
SVNCopyClient: The SVNCopyClient provides methods to perform any kinds of copying and moving that SVN supports - operating on both Working Copies (WC) and URLs.
SVNDiffClient: The SVNDiffClient class provides methods allowing to get differences between versioned items ('diff' operation) as well as ones intended for merging file contents.
SVNEvent: The SVNEvent class is used to provide detailed information on an operation progress to the ISVNEventHandler (if any) registered for an SVN*Client object.
SVNEventAction: The SVNEventAction class is used to describe an action which generated an SVNEvent object.
SVNInfo: The SVNInfo class is a wrapper for versioned item's (located either in a Working Copy or a repository) information details.
SVNLogClient: The SVNLogClient class is intended for such purposes as getting revisions history, browsing repository entries and annotating file contents.
SVNMoveClient: The SVNMoveClient provides an extra client-side functionality over standard (i.e. compatible with the SVN command line client) move operations.
SVNPropertyData: SVNPropertyData is a wrapper for both versioned and unversioned properties.
SVNRevision: SVNRevision is a revision wrapper used for an abstract representation of revision information.
SVNStatus: The SVNStatus class is used to provide detailed status information for a Working Copy item as a result of a status operation invoked by a doStatus() method of SVNStatusClient.
SVNStatusClient: The SVNStatusClient class provides methods for obtaining information on the status of Working Copy items.
SVNStatusType: SVNStatusType provides information about versioned items' status type.
SVNUpdateClient: This class provides methods which allow to check out, update, switch and relocate a Working Copy as well as export an unversioned directory or file from a repository.
SVNWCClient: The SVNWCClient class combines a number of version control operations mainly intended for local work with Working Copy items.
SVNWCUtil: The SVNWCUtil is a utility class providing some common methods used by Working Copy API classes for such purposes as creating default run-time configuration and authentication drivers and some others.

## Package org.tmatesoft.svn.core.wc Description

This package provides a high-level API for managing Working Copies in a way compatible with the native SVN command line client. That means if you use org.tmatesoft.svn.core.wc to operate on Working Copy files, directories and their properties you won't loose a compatibility with the SVN client - as if the copy items were managed by the SVN itself. In addition the package classes and interfaces provide a developer a high flexibility in usage: all SVN client's commands are mapped to methods of SVN*Client classes which are responsible for all version control functionality (dealing either with Working Copies or URLs). This functionality is logicaly allotted to separate classes, so that, for example, all update related operations (update, switch, etc.) are handled by the same class. And * for each of these classes is the name of that functional behaviour the class is intended for - such as SVNUpdateClient or SVNCommitClient. To have even more flexibility there's a kind of a manager class - SVNClientManager - which aggregates all of these 'client' classes making developer's work easier and more comfortable. At last the high-level API is even a bit more than just an implementation of the SVN client's operations:

- the package gives a developer an ability to implement several types of operation handlers that can be passed to some of SVN*Client's methods , thus the developer can 'take part' in operation processing;
- some of SVN*Client classes have methods for which the SVN command line client has no analogues (such as the entire SVNMoveClient class).

While the package org.tmatesoft.svn.core.io represents a low-level API and therefore 'knows' nothing of the SVN native 'Working Copy' format and structure, org.tmatesoft.svn.core.wc is contrarily a kind of a Java implementation of the SVN client's commands which can be used in a standalone Java application that needs to work with Working Copies. However if a developer has no need or even don't want to have Working Copies but something else (for instance, in case of an own client side version control system specific to developer's needs) the developer should refer to org.tmatesoft.svn.core.io rather than to org.tmatesoft.svn.core.wc.

JavaSVN Home

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