Class SVNRepos

java.lang.Object
org.apache.subversion.javahl.SVNRepos
All Implemented Interfaces:
ISVNRepos

public class SVNRepos
extends Object
implements ISVNRepos
This class offers the same commands as the svnadmin commandline client.
  • Field Details

    • cppAddr

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

    • SVNRepos

      public SVNRepos()
      Standard empty constructor, builds just the native peer.
  • Method Details

    • getCppAddr

      public long getCppAddr()
      Don't call this function! public for backward compat purposes.
    • dispose

      public void dispose()
      release the native peer (should not depend on finalize)
      Specified by:
      dispose in interface ISVNRepos
    • finalize

      public void finalize()
      release the native peer (should use dispose instead) public for backward compat. Shouldn't call this directly.
      Overrides:
      finalize in class Object
    • getVersion

      public Version getVersion()
      Specified by:
      getVersion in interface ISVNRepos
      Returns:
      Version information about the underlying native libraries.
    • create

      public void create​(File path, boolean disableFsyncCommit, boolean keepLog, File configPath, String fstype) throws ClientException
      create a subversion repository.
      Specified by:
      create in interface ISVNRepos
      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​(File path, Revision start, Revision end) throws ClientException
      deltify the revisions in the repository
      Specified by:
      deltify in interface ISVNRepos
      Parameters:
      path - the path to the repository
      start - start revision
      end - end revision
      Throws:
      ClientException - throw in case of problem
    • dump

      public void dump​(File path, OutputStream dataOut, Revision start, Revision end, boolean incremental, boolean useDeltas, ReposNotifyCallback callback) throws ClientException
      Description copied from interface: ISVNRepos
      dump the data in a repository
      Specified by:
      dump in interface ISVNRepos
      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

      public void hotcopy​(File path, File targetPath, boolean cleanLogs, boolean incremental, ReposNotifyCallback callback) throws ClientException
      Description copied from interface: ISVNRepos
      make a hot copy of the repository
      Specified by:
      hotcopy in interface ISVNRepos
      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
    • hotcopy

      public void hotcopy​(File path, File targetPath, boolean cleanLogs, boolean incremental) throws ClientException
      Specified by:
      hotcopy in interface ISVNRepos
      Throws:
      ClientException
    • hotcopy

      public void hotcopy​(File path, File targetPath, boolean cleanLogs) throws ClientException
      Specified by:
      hotcopy in interface ISVNRepos
      Throws:
      ClientException
    • listDBLogs

      public void listDBLogs​(File path, ISVNRepos.MessageReceiver receiver) throws ClientException
      list all logfiles (BDB) in use or not)
      Specified by:
      listDBLogs in interface ISVNRepos
      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​(File path, ISVNRepos.MessageReceiver receiver) throws ClientException
      list unused logfiles
      Specified by:
      listUnusedDBLogs in interface ISVNRepos
      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​(File path, InputStream dataInput, boolean ignoreUUID, boolean forceUUID, boolean usePreCommitHook, boolean usePostCommitHook, String relativePath, ReposNotifyCallback callback) throws ClientException
      Description copied from interface: ISVNRepos
      load the data of a dump into a repository
      Specified by:
      load in interface ISVNRepos
      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
    • load

      public void load​(File path, InputStream dataInput, Revision start, Revision end, boolean ignoreUUID, boolean forceUUID, boolean usePreCommitHook, boolean usePostCommitHook, String relativePath, ReposNotifyCallback callback) throws ClientException
      Description copied from interface: ISVNRepos
      Load the data of a dump into a repository. Sets validateProps and ignoreDates to false.
      Specified by:
      load in interface ISVNRepos
      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
    • load

      public 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
      Description copied from interface: ISVNRepos
      load the data of a dump into a repository
      Specified by:
      load in interface ISVNRepos
      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
    • load

      public void load​(File path, InputStream dataInput, Revision start, Revision end, boolean ignoreUUID, boolean forceUUID, boolean usePreCommitHook, boolean usePostCommitHook, boolean validateProps, boolean ignoreDates, boolean normalizeProps, String relativePath, ReposNotifyCallback callback) throws ClientException
      Description copied from interface: ISVNRepos
      load the data of a dump into a repository
      Specified by:
      load in interface ISVNRepos
      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
      normalizeProps - attempt to normalize invalid Subversion revision and node properties
      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

      public void lstxns​(File path, ISVNRepos.MessageReceiver receiver) throws ClientException
      list all open transactions in a repository
      Specified by:
      lstxns in interface ISVNRepos
      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​(File path, ReposNotifyCallback callback) throws ClientException
      Description copied from interface: ISVNRepos
      recover the filesystem backend of a repository
      Specified by:
      recover in interface ISVNRepos
      Parameters:
      path - the path to the repository
      Returns:
      youngest revision
      Throws:
      ClientException - throw in case of problem
    • freeze

      public void freeze​(ReposFreezeAction action, File... paths) throws ClientException
      Description copied from interface: ISVNRepos
      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.
      Specified by:
      freeze in interface ISVNRepos
      Parameters:
      action - describes the action to perform
      paths - the set of repository paths
      Throws:
      ClientException
    • rmtxns

      public void rmtxns​(File path, String[] transactions) throws ClientException
      remove open transaction in a repository
      Specified by:
      rmtxns in interface ISVNRepos
      Parameters:
      path - the path to the repository
      transactions - the transactions to be removed
      Throws:
      ClientException - throw in case of problem
    • setRevProp

      public 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.
      Specified by:
      setRevProp in interface ISVNRepos
      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

      public void verify​(File path, Revision start, Revision end, ReposNotifyCallback callback) throws ClientException
      Description copied from interface: ISVNRepos
      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.

      Specified by:
      verify in interface ISVNRepos
      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.
    • verify

      public void verify​(File path, Revision start, Revision end, boolean checkNormalization, boolean metadataOnly, ReposNotifyCallback notifyCallback, ReposVerifyCallback verifyCallback) throws ClientException
      Description copied from interface: ISVNRepos
      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.

      Specified by:
      verify in interface ISVNRepos
      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.
    • lslocks

      public Set<Lock> lslocks​(File path, Depth depth) throws ClientException
      list all locks in the repository
      Specified by:
      lslocks in interface ISVNRepos
      Parameters:
      path - the path to the repository
      depth - the depth to recurse
      Throws:
      ClientException - throw in case of problem
    • rmlocks

      public void rmlocks​(File path, String[] locks) throws ClientException
      remove multiple locks from the repository
      Specified by:
      rmlocks in interface ISVNRepos
      Parameters:
      path - the path to the repository
      locks - the name of the locked items
      Throws:
      ClientException - throw in case of problem
    • upgrade

      public void upgrade​(File path, ReposNotifyCallback callback)
      Description copied from interface: ISVNRepos
      upgrade the repository format
      Specified by:
      upgrade in interface ISVNRepos
      Parameters:
      path - the path to the repository
      callback - for notification
    • pack

      public void pack​(File path, ReposNotifyCallback callback)
      Description copied from interface: ISVNRepos
      pack the repository
      Specified by:
      pack in interface ISVNRepos
      Parameters:
      path - the path to the repository
      callback - for notification
    • cancelOperation

      public void cancelOperation() throws ClientException
      Description copied from interface: ISVNRepos
      cancel the active operation
      Specified by:
      cancelOperation in interface ISVNRepos
      Throws:
      ClientException