org.apache.subversion.javahl
Interface ISVNRepos

All Known Implementing Classes:
SVNRepos

public interface ISVNRepos


Nested Class Summary
static interface ISVNRepos.MessageReceiver
          interface to receive the messages
 
Field Summary
static String BDB
          Filesystem in a Berkeley DB
static String FSFS
          Filesystem in the filesystem
 
Method Summary
 void cancelOperation()
          cancel the active operation
 void create(File path, boolean disableFsyncCommit, boolean keepLog, File configPath, String fstype)
          create a subversion repository.
 void deltify(File path, Revision start, Revision end)
          deltify the revisions in the repository
 void dispose()
          release the native peer (should not depend on finalize)
 void dump(File path, OutputStream dataOut, Revision start, Revision end, boolean incremental, boolean useDeltas, ReposNotifyCallback callback)
          dump the data in a repository
 void freeze(ReposFreezeAction action, File... paths)
          Take an exclusive lock on each of the listed repositories to prevent commits; then, while holding all the locks, call the action.invoke().
 Version getVersion()
           
 void hotcopy(File path, File targetPath, boolean cleanLogs)
           
 void hotcopy(File path, File targetPath, boolean cleanLogs, boolean incremental)
           
 void hotcopy(File path, File targetPath, boolean cleanLogs, boolean incremental, ReposNotifyCallback callback)
          make a hot copy of the repository
 void listDBLogs(File path, ISVNRepos.MessageReceiver receiver)
          list all logfiles (BDB) in use or not)
 void listUnusedDBLogs(File path, ISVNRepos.MessageReceiver receiver)
          list unused logfiles
 void load(File path, InputStream dataInput, boolean ignoreUUID, boolean forceUUID, boolean usePreCommitHook, boolean usePostCommitHook, String relativePath, ReposNotifyCallback callback)
          load the data of a dump into a repository
 void load(File path, InputStream dataInput, Revision start, Revision end, boolean ignoreUUID, boolean forceUUID, boolean usePreCommitHook, boolean usePostCommitHook, boolean validateProps, boolean ignoreDates, String relativePath, ReposNotifyCallback callback)
          load the data of a dump into a repository
 void load(File path, InputStream dataInput, Revision start, Revision end, boolean ignoreUUID, boolean forceUUID, boolean usePreCommitHook, boolean usePostCommitHook, String relativePath, ReposNotifyCallback callback)
          Load the data of a dump into a repository.
 Set<Lock> lslocks(File path, Depth depth)
          list all locks in the repository
 void lstxns(File path, ISVNRepos.MessageReceiver receiver)
          list all open transactions in a repository
 void pack(File path, ReposNotifyCallback callback)
          pack the repository
 long recover(File path, ReposNotifyCallback callback)
          recover the filesystem backend of a repository
 void rmlocks(File path, String[] locks)
          remove multiple locks from the repository
 void rmtxns(File path, String[] transactions)
          remove open transaction in a repository
 void setRevProp(File path, Revision rev, String propName, String propValue, boolean usePreRevPropChangeHook, boolean usePostRevPropChangeHook)
          Change the value of the revision property propName to propValue.
 void upgrade(File path, ReposNotifyCallback callback)
          upgrade the repository format
 void verify(File path, Revision start, Revision end, boolean checkNormalization, boolean metadataOnly, ReposNotifyCallback notifyCallback, ReposVerifyCallback verifyCallback)
          Verify the repository at path between revisions start and end.
 void verify(File path, Revision start, Revision end, ReposNotifyCallback callback)
          Verify the repository at path between revisions start and end.
 

Field Detail

BDB

static final String BDB
Filesystem in a Berkeley DB

See Also:
Constant Field Values

FSFS

static final String FSFS
Filesystem in the filesystem

See Also:
Constant Field Values
Method Detail

dispose

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


getVersion

Version getVersion()
Returns:
Version information about the underlying native libraries.

create

void create(File path,
            boolean disableFsyncCommit,
            boolean keepLog,
            File configPath,
            String fstype)
            throws ClientException
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

void deltify(File path,
             Revision start,
             Revision end)
             throws ClientException
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

dump

void dump(File path,
          OutputStream dataOut,
          Revision start,
          Revision end,
          boolean incremental,
          boolean useDeltas,
          ReposNotifyCallback callback)
          throws ClientException
dump the data in a repository

Parameters:
path - the path to the repository
dataOut - the data will be outputed here
start - the first revision to be dumped
end - the last revision to be dumped
incremental - the dump will be incremantal
useDeltas - the dump will contain deltas between nodes
callback - the callback to receive notifications
Throws:
ClientException - throw in case of problem

hotcopy

void hotcopy(File path,
             File targetPath,
             boolean cleanLogs,
             boolean incremental,
             ReposNotifyCallback callback)
             throws ClientException
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
callback - the callback to receive notifications
Throws:
ClientException - throw in case of problem
Since:
1.9

hotcopy

void hotcopy(File path,
             File targetPath,
             boolean cleanLogs,
             boolean incremental)
             throws ClientException
Throws:
ClientException

hotcopy

void hotcopy(File path,
             File targetPath,
             boolean cleanLogs)
             throws ClientException
Throws:
ClientException

listDBLogs

void listDBLogs(File path,
                ISVNRepos.MessageReceiver receiver)
                throws ClientException
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

void listUnusedDBLogs(File path,
                      ISVNRepos.MessageReceiver receiver)
                      throws ClientException
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

void load(File path,
          InputStream dataInput,
          Revision start,
          Revision end,
          boolean ignoreUUID,
          boolean forceUUID,
          boolean usePreCommitHook,
          boolean usePostCommitHook,
          boolean validateProps,
          boolean ignoreDates,
          String relativePath,
          ReposNotifyCallback callback)
          throws ClientException
load the data of a dump into a repository

Parameters:
path - the path to the repository
dataInput - the data input source
start - the first revision to load
end - the last revision to load
ignoreUUID - ignore any UUID found in the input stream
forceUUID - set the repository UUID to any found in the stream
usePreCommitHook - use the pre-commit hook when processing commits
usePostCommitHook - use the post-commit hook when processing commits
validateProps - validate "svn:" revision and node properties
ignoreDates - ignore revision datestamps in the dump stream
relativePath - the directory in the repository, where the data in put optional.
callback - the target for processing messages
Throws:
ClientException - throw in case of problem
Since:
1.9

load

void load(File path,
          InputStream dataInput,
          Revision start,
          Revision end,
          boolean ignoreUUID,
          boolean forceUUID,
          boolean usePreCommitHook,
          boolean usePostCommitHook,
          String relativePath,
          ReposNotifyCallback callback)
          throws ClientException
Load the data of a dump into a repository. Sets validateProps and ignoreDates to false.

Parameters:
path - the path to the repository
dataInput - the data input source
start - the first revision to load
end - the last revision to load
ignoreUUID - ignore any UUID found in the input stream
forceUUID - set the repository UUID to any found in the stream
usePreCommitHook - use the pre-commit hook when processing commits
usePostCommitHook - use the post-commit hook when processing commits
relativePath - the directory in the repository, where the data in put optional.
callback - the target for processing messages
Throws:
ClientException - throw in case of problem
Since:
1.8

load

void load(File path,
          InputStream dataInput,
          boolean ignoreUUID,
          boolean forceUUID,
          boolean usePreCommitHook,
          boolean usePostCommitHook,
          String relativePath,
          ReposNotifyCallback callback)
          throws ClientException
load the data of a dump into a repository

Parameters:
path - the path to the repository
dataInput - the data input source
ignoreUUID - ignore any UUID found in the input stream
forceUUID - set the repository UUID to any found in the stream
usePreCommitHook - use the pre-commit hook when processing commits
usePostCommitHook - use the post-commit hook when processing commits
relativePath - the directory in the repository, where the data in put optional.
callback - the target for processing messages
Throws:
ClientException - throw in case of problem

lstxns

void lstxns(File path,
            ISVNRepos.MessageReceiver receiver)
            throws ClientException
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

long recover(File path,
             ReposNotifyCallback callback)
             throws ClientException
recover the filesystem backend of a repository

Parameters:
path - the path to the repository
Returns:
youngest revision
Throws:
ClientException - throw in case of problem

freeze

void freeze(ReposFreezeAction action,
            File... paths)
            throws ClientException
Take an exclusive lock on each of the listed repositories to prevent commits; then, while holding all the locks, call the action.invoke(). The repositories may or may not be readable by Subversion while frozen, depending on implementation details of the repository's filesystem backend. Repositories are locked in the listed order.

Parameters:
action - describes the action to perform
paths - the set of repository paths
Throws:
ClientException
Since:
1.8

rmtxns

void rmtxns(File path,
            String[] transactions)
            throws ClientException
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

setRevProp

void setRevProp(File path,
                Revision rev,
                String propName,
                String propValue,
                boolean usePreRevPropChangeHook,
                boolean usePostRevPropChangeHook)
                throws SubversionException
Change the value of the revision property propName to propValue. By default, does not run pre-/post-revprop-change hook scripts.

Parameters:
path - The path to the repository.
rev - The revision for which to change a property value.
propName - The name of the property to change.
propValue - The new value to set for the property.
usePreRevPropChangeHook - Whether to run the pre-revprop-change hook script.
usePostRevPropChangeHook - Whether to run the post-revprop-change hook script.
Throws:
SubversionException - If a problem occurs.

verify

void verify(File path,
            Revision start,
            Revision end,
            boolean checkNormalization,
            boolean metadataOnly,
            ReposNotifyCallback notifyCallback,
            ReposVerifyCallback verifyCallback)
            throws ClientException
Verify the repository at path between revisions start and end.

If verifyCallback is null, verification will stop at the first encountered error. Otherwise, the verification process may continue, depending on the value returned from the invocation of verifyCallback.

Parameters:
path - the path to the repository
start - the first revision
end - the last revision
checkNormalization - report directory entry and mergeinfo name collisions caused by denormalized Unicode representations
metadataOnly - check only metadata, not file contents
notifyCallback - the callback to receive notifications
verifyCallback - the callback to receive verification status
Throws:
ClientException - If an error occurred.
Since:
1.9

verify

void verify(File path,
            Revision start,
            Revision end,
            ReposNotifyCallback callback)
            throws ClientException
Verify the repository at path between revisions start and end.

Note: Behaves like the 1.9 version with checkNormailzation and metadataOnly set to false and verifyCallback set to null.

Parameters:
path - the path to the repository
start - the first revision
end - the last revision
callback - the callback to receive notifications
Throws:
ClientException - If an error occurred.

lslocks

Set<Lock> lslocks(File path,
                  Depth depth)
                  throws ClientException
list all locks in the repository

Parameters:
path - the path to the repository
depth - the depth to recurse
Throws:
ClientException - throw in case of problem

rmlocks

void rmlocks(File path,
             String[] locks)
             throws ClientException
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

upgrade

void upgrade(File path,
             ReposNotifyCallback callback)
             throws ClientException
upgrade the repository format

Parameters:
path - the path to the repository
callback - for notification
Throws:
ClientException - throw in case of problem

pack

void pack(File path,
          ReposNotifyCallback callback)
          throws ClientException
pack the repository

Parameters:
path - the path to the repository
callback - for notification
Throws:
ClientException - throw in case of problem

cancelOperation

void cancelOperation()
                     throws ClientException
cancel the active operation

Throws:
ClientException