org.tigris.subversion.javahl

Class SVNAdmin

public class SVNAdmin extends Object

This class offers the same commands as the svnadmin commandline client
Nested Class Summary
static interfaceSVNAdmin.MessageReceiver
interface to receive the messages
Field Summary
static StringBDB
Filesystem in a Berkeley DB
protected longcppAddr
slot for the adress of the native peer.
static StringFSFS
Filesystem in the filesystem
Constructor Summary
SVNAdmin()
Standard empty contructor, builds just the native peer.
Method Summary
voidcreate(String path, boolean disableFsyncCommit, boolean keepLog, String configPath, String fstype)
create a subversion repository.
voiddeltify(String path, Revision start, Revision end)
deltify the revisions in the repository
voiddispose()
release the native peer (should not depend on finalize)
voiddump(String path, OutputInterface dataOut, OutputInterface errorOut, Revision start, Revision end, boolean incremental)
dump the data in a repository
protected voidfinalize()
release the native peer (should use dispose instead)
VersiongetVersion()
voidhotcopy(String path, String targetPath, boolean cleanLogs)
make a hot copy of the repository
voidlistDBLogs(String path, SVNAdmin.MessageReceiver receiver)
list all logfiles (BDB) in use or not)
voidlistUnusedDBLogs(String path, SVNAdmin.MessageReceiver receiver)
list unused logfiles
voidload(String path, InputInterface dataInput, OutputInterface messageOutput, boolean ignoreUUID, boolean forceUUID, String relativePath)
load the data of a dump into a repository,
Lock[]lslocks(String path)
list all locks in the repository
voidlstxns(String path, SVNAdmin.MessageReceiver receiver)
list all open transactions in a repository
longrecover(String path)
recover the berkeley db of a repository, returns youngest revision
voidrmlocks(String path, String[] locks)
remove multiple locks from the repository
voidrmtxns(String path, String[] transactions)
remove open transaction in a repository
voidsetLog(String path, Revision rev, String message, boolean bypassHooks)
set the log message of a revision
voidverify(String path, OutputInterface messageOut, Revision start, Revision end)
verify the repository

Field Detail

BDB

public static final String BDB
Filesystem in a Berkeley DB

cppAddr

protected long cppAddr
slot for the adress of the native peer. The JNI code is the only user of this member

FSFS

public static final String FSFS
Filesystem in the filesystem

Constructor Detail

SVNAdmin

public SVNAdmin()
Standard empty contructor, builds just the native peer.

Method Detail

create

public void create(String path, boolean disableFsyncCommit, boolean keepLog, String configPath, String fstype)
create a subversion repository.

Parameters: path the path where the repository will been created. disableFsyncCommit disable to fsync at the commit (BDB). keepLog keep the log files (BDB). configPath optional path for user configuration files. fstype the type of the filesystem (BDB or FSFS)

Throws: ClientException throw in case of problem

deltify

public void deltify(String path, Revision start, Revision end)
deltify the revisions in the repository

Parameters: path the path to the repository start start revision end end revision

Throws: ClientException throw in case of problem

dispose

public void dispose()
release the native peer (should not depend on finalize)

dump

public void dump(String path, OutputInterface dataOut, OutputInterface errorOut, Revision start, Revision end, boolean incremental)
dump the data in a repository

Parameters: path the path to the repository dataOut the data will be outputed here errorOut the messages will be outputed here start the first revision to be dumped end the last revision to be dumped incremental the dump will be incremantal

Throws: ClientException throw in case of problem

finalize

protected void finalize()
release the native peer (should use dispose instead)

getVersion

public Version getVersion()

Returns: Version information about the underlying native libraries.

hotcopy

public void hotcopy(String path, String targetPath, boolean cleanLogs)
make a hot copy of the repository

Parameters: path the path to the source repository targetPath the path to the target repository cleanLogs clean the unused log files in the source repository

Throws: ClientException throw in case of problem

listDBLogs

public void listDBLogs(String path, SVNAdmin.MessageReceiver receiver)
list all logfiles (BDB) in use or not)

Parameters: path the path to the repository receiver interface to receive the logfile names

Throws: ClientException throw in case of problem

listUnusedDBLogs

public void listUnusedDBLogs(String path, SVNAdmin.MessageReceiver receiver)
list unused logfiles

Parameters: path the path to the repository receiver interface to receive the logfile names

Throws: ClientException throw in case of problem

load

public void load(String path, InputInterface dataInput, OutputInterface messageOutput, boolean ignoreUUID, boolean forceUUID, String relativePath)
load the data of a dump into a repository,

Parameters: path the path to the repository dataInput the data input source messageOutput the target for processing messages ignoreUUID ignore any UUID found in the input stream forceUUID set the repository UUID to any found in the stream relativePath the directory in the repository, where the data in put optional.

Throws: ClientException throw in case of problem

lslocks

public Lock[] lslocks(String path)
list all locks in the repository

Parameters: path the path to the repository

Throws: ClientException throw in case of problem

Since: 1.2

lstxns

public void lstxns(String path, SVNAdmin.MessageReceiver receiver)
list all open transactions in a repository

Parameters: path the path to the repository receiver receives one transaction name per call

Throws: ClientException throw in case of problem

recover

public long recover(String path)
recover the berkeley db of a repository, returns youngest revision

Parameters: path the path to the repository

Throws: ClientException throw in case of problem

rmlocks

public void rmlocks(String path, String[] locks)
remove multiple locks from the repository

Parameters: path the path to the repository locks the name of the locked items

Throws: ClientException throw in case of problem

Since: 1.2

rmtxns

public void rmtxns(String path, String[] transactions)
remove open transaction in a repository

Parameters: path the path to the repository transactions the transactions to be removed

Throws: ClientException throw in case of problem

setLog

public void setLog(String path, Revision rev, String message, boolean bypassHooks)
set the log message of a revision

Parameters: path the path to the repository rev the revision to be changed message the message to be set bypassHooks if to bypass all repository hooks

Throws: ClientException throw in case of problem

verify

public void verify(String path, OutputInterface messageOut, Revision start, Revision end)
verify the repository

Parameters: path the path to the repository messageOut the receiver of all messages start the first revision end the last revision

Throws: ClientException throw in case of problem