org.tmatesoft.svn.core.wc.admin
public class SVNAdminClient extends SVNBasicClient
Repository administrative methods are analogues of the corresponding commands of the native Subversion 'svnadmin' utility, while repository synchronizing methods are the ones for the 'svnsync' utility.
Here's a list of the SVNAdminClient's methods matched against corresponing commands of the Subversion svnsync and svnadmin command-line utilities:
SVNKit | Subversion |
doInitialize() | 'svnsync initialize' |
doSynchronize() | 'svnsync synchronize' |
doCopyRevisionProperties() | 'svnsync copy-revprops' |
doDump() | 'svnadmin dump' |
doListTransactions() | 'svnadmin lstxns' |
doLoad() | 'svnadmin load' |
doRemoveTransactions() | 'svnadmin rmtxns' |
doVerify() | 'svnadmin verify' |
Since: 1.1.0
Version: 1.1.1
Constructor Summary | |
---|---|
SVNAdminClient(ISVNAuthenticationManager authManager, ISVNOptions options)
Creates a new admin client.
| |
SVNAdminClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)
Creates a new admin client.
|
Method Summary | |
---|---|
void | doCompleteSynchronize(SVNURL fromURL, SVNURL toURL)
Completely synchronizes two repositories.
|
void | doCopyRevisionProperties(SVNURL toURL, long revision)
Copies revision properties from the source repository that the destination one is synchronized with
to the given revision of the destination repository itself.
|
SVNURL | doCreateRepository(File path, String uuid, boolean enableRevisionProperties, boolean force)
Creates an FSFS-type repository.
|
SVNURL | doCreateRepository(File path, String uuid, boolean enableRevisionProperties, boolean force, boolean pre14Compatible)
Creates an FSFS-type repository.
|
void | doDump(File repositoryRoot, OutputStream dumpStream, SVNRevision startRevision, SVNRevision endRevision, boolean isIncremental, boolean useDeltas)
Dumps contents of the repository to the provided output stream in a
'dumpfile' portable format.
|
void | doInitialize(SVNURL fromURL, SVNURL toURL)
Initializes synchronization between source and target repositories.
|
void | doListLocks(File repositoryRoot) |
void | doListTransactions(File repositoryRoot)
Lists all uncommitted transactions.
|
void | doLoad(File repositoryRoot, InputStream dumpStream)
Reads the provided dump stream committing new revisions to a repository.
|
void | doLoad(File repositoryRoot, InputStream dumpStream, boolean usePreCommitHook, boolean usePostCommitHook, SVNUUIDAction uuidAction, String parentDir)
Reads the provided dump stream committing new revisions to a repository.
|
void | doRemoveLocks(File repositoryRoot, String[] paths) |
void | doRemoveTransactions(File repositoryRoot, String[] transactions)
Removes the specified outstanding transactions from a repository.
|
void | doSynchronize(SVNURL toURL)
Synchronizes the repository at the given url.
|
void | doVerify(File repositoryRoot)
Verifies the data stored in the repository. |
void | doVerify(File repositoryRoot, SVNRevision startRevision, SVNRevision endRevision) |
void | setEventHandler(ISVNEventHandler handler)
Sets an event handler for this object.
ISVNAdminEventHandler should be provided to SVNAdminClent
via this method also.
|
void | setReplayHandler(ISVNLogEntryHandler handler)
Sets a replication handler that will receive a log entry object
per each replayed revision.
|
Parameters: authManager an auth manager options an options driver
Parameters: repositoryPool a repository pool options an options driver
This method initializes the destination repository and then copies all revision
changes (including revision properties)
from the given source repository to the destination one. First it
tries to use synchronization features similar to the native Subversion
'svnsync' capabilities. But if a server does not support
replay
functionality, SVNKit uses its own repository
replication feature (see SVNRepositoryReplicator})
Parameters: fromURL a url of a repository to copy from toURL a destination repository url
Throws: SVNException
Since: 1.1
This method is equivalent to the command 'copy-revprops' of the native Subversion svnsync utility.
Note that the destination repository given as toURL
must be synchronized with a source
repository. Please, see SVNAdminClient} how to initialize such a synchronization.
Parameters: toURL a url to the destination repository which must be synchronized with another repository revision a particular revision of the source repository to copy revision properties from
Throws: SVNException
Since: 1.1, new in Subversion 1.4
If uuid
is null a new uuid will be generated, otherwise
the specified will be used.
If enableRevisionProperties
is true, an empty
pre-revprop-change hook will be placed into the repository /hooks subdir. This enables changes to
revision properties of the newly created repository.
If force
is true and path
already
exists, deletes that path and creates a repository in its place.
Parameters: path a repository root dir path uuid a repository uuid enableRevisionProperties enables/disables changes to revision properties force forces operation to run
Returns: a local URL (file:///) of a newly created repository
Throws: SVNException
Since: 1.1.0
See Also: SVNAdminClient
If uuid
is null a new uuid will be generated, otherwise
the specified will be used.
If enableRevisionProperties
is true, an empty
pre-revprop-change hook will be placed into the repository /hooks subdir. This enables changes to
revision properties of the newly created repository.
If force
is true and path
already
exists, deletes that path and creates a repository in its place.
Set pre14Compatible
to true if you want a new repository
to be compatible with pre-1.4 servers.
Parameters: path a repository root dir path uuid a repository uuid enableRevisionProperties enables/disables changes to revision properties force forces operation to run pre14Compatible true to create a repository with pre-1.4 format
Returns: a local URL (file:///) of a newly created repository
Throws: SVNException
Since: 1.1.1
On each revision dumped this method fires an SVNAdminEvent with action set to REVISION_DUMPED to the registered ISVNAdminEventHandler (if any). To register your ISVNAdminEventHandler pass it to setEventHandler. For this operation the following information can be retrieved out of SVNAdminEvent:
SVNAdminEvent.getRevision()
to get itParameters: repositoryRoot a repository root directory path dumpStream an output stream to write dumped contents to startRevision the first revision to start dumping from endRevision the last revision to end dumping at isIncremental if true then the first revision dumped will be a diff against the previous revision; otherwise the first revision is a fulltext. useDeltas if true deltas will be written instead of fulltexts
Throws: SVNException
Since: 1.1.1
This method is equivalent to the command 'initialize' ('init') of the native Subversion svnsync utility. Initialization places information of a source repository to a destination one (setting special revision properties in revision 0) as well as copies all revision props from revision 0 of the source repository to revision 0 of the destination one.
Parameters: fromURL a source repository url toURL a destination repository url
Throws: SVNException
Since: 1.1, new in Subversion 1.4
SVNAdminEvent.getTxnName()
to get it SVNAdminEvent.getTxnDir()
to get itParameters: repositoryRoot a repository root directory path
Throws: SVNException
Since: 1.1.1
On each revision loaded this method fires an SVNAdminEvent with action set to REVISION_LOADED to the registered ISVNAdminEventHandler (if any). To register your ISVNAdminEventHandler pass it to setEventHandler. For this operation the following information can be retrieved out of SVNAdminEvent:
SVNAdminEvent.getOriginalRevision()
to get it SVNAdminEvent.getRevision()
to get it
A call to this method is equivalent to
doLoad(repositoryRoot, dumpStream, false, false, SVNUUIDAction.DEFAULT, null)
.
Parameters: repositoryRoot the root directory path of the repository where new revisions will be committed dumpStream stream with dumped contents of a repository
Throws: SVNException
Since: 1.1.1
See Also: SVNAdminClient
On each revision loaded this method fires an SVNAdminEvent with action set to REVISION_LOADED to the registered ISVNAdminEventHandler (if any). To register your ISVNAdminEventHandler pass it to setEventHandler. For this operation the following information can be retrieved out of SVNAdminEvent:
SVNAdminEvent.getOriginalRevision()
to get it SVNAdminEvent.getRevision()
to get itParameters: repositoryRoot the root directory path of the repository where new revisions will be committed dumpStream stream with dumped contents of a repository usePreCommitHook if true then calls a pre-commit hook before committing usePostCommitHook if true then calls a post-commit hook after committing uuidAction one of the three possible ways to treat uuids parentDir if not null then loads at this directory in the repository
Throws: SVNException
Since: 1.1.1
SVNAdminEvent.getTxnName()
to get it SVNAdminEvent.getTxnDir()
to get itParameters: repositoryRoot a repository root directory path transactions an array with transaction names
Throws: SVNException
Since: 1.1.1
Synchronization means copying revision changes and revision properties from the source repository (that the destination one is synchronized with) to the destination one starting at the last merged revision. This method is equivalent to the command 'synchronize' ('sync') of the native Subversion svnsync utility.
Parameters: toURL a destination repository url
Throws: SVNException
Since: 1.1, new in Subversion 1.4
Parameters: repositoryRoot a repository root directory path
Throws: SVNException verification failed - a repository may be corrupted
Since: 1.1.1
Parameters: handler an event handler
Log entries dispatched to the handler may not contain changed paths and committed log message until this features are implemented in future releases.
Parameters: handler a replay handler