Interface ISVNRepos

All Known Implementing Classes:
SVNRepos

public interface ISVNRepos
  • Field Details

  • Method Details

    • 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, boolean normalizeProps, 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
      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
      Since:
      1.10
    • 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