Class SVNClient

java.lang.Object
org.apache.subversion.javahl.SVNClient
All Implemented Interfaces:
ISVNClient

public class SVNClient
extends Object
implements ISVNClient
This is the main client class. All Subversion client APIs are implemented in this class. This class is not threadsafe; if you need threadsafe access, use ClientSynchronized.
  • 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

    • SVNClient

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

    • dispose

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

      public void finalize()
      release the native peer (should use dispose instead)
      Overrides:
      finalize in class Object
    • getVersion

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

      public RuntimeVersion getRuntimeVersion()
      Specified by:
      getRuntimeVersion in interface ISVNClient
      Returns:
      Runtime version information about the loaded libsvn_client.
    • getVersionExtended

      public VersionExtended getVersionExtended​(boolean verbose)
      Specified by:
      getVersionExtended in interface ISVNClient
      Returns:
      Extended version information about the underlying native libraries and operating system.
    • getAdminDirectoryName

      public String getAdminDirectoryName()
      Specified by:
      getAdminDirectoryName in interface ISVNClient
      Returns:
      The name of the working copy's administrative directory, which is usually .svn.
      See Also:
      Instructions on changing this as a work-around for the behavior of ASP.Net on Windows.
    • isAdminDirectory

      public boolean isAdminDirectory​(String name)
      Specified by:
      isAdminDirectory in interface ISVNClient
      Parameters:
      name - The name of the directory to compare.
      Returns:
      Whether name is that of a working copy administrative directory.
    • getLastPath

      @Deprecated public String getLastPath()
      Deprecated.
    • status

      public void status​(String path, Depth depth, boolean onServer, boolean onDisk, boolean getAll, boolean noIgnore, boolean ignoreExternals, boolean depthAsSticky, Collection<String> changelists, StatusCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Return the status of the working copy and maybe repository.
      Specified by:
      status in interface ISVNClient
      Parameters:
      path - Path to explore.
      depth - How deep to recurse into subdirectories.
      onServer - Request status information from server.
      onDisk - Check the working copy for local modifications. A value of false only has effect when onServer is true.
      getAll - get status for uninteresting (unchanged) files.
      noIgnore - get status for normaly ignored files and directories.
      ignoreExternals - if externals are ignored during status
      depthAsSticky - When set, interpret depth as the ambient depth of the working copy.
      changelists - changelists to filter by
      Throws:
      ClientException
    • status

      @Deprecated public void status​(String path, Depth depth, boolean onServer, boolean getAll, boolean noIgnore, boolean ignoreExternals, Collection<String> changelists, StatusCallback callback) throws ClientException
      Deprecated.
      Description copied from interface: ISVNClient
      Return information about the status of the working copy and maybe repository.

      Behaves like the 1.9 version with onDisk = true and depthAsSticky = false.

      Specified by:
      status in interface ISVNClient
      Throws:
      ClientException
    • list

      public void list​(String url, Revision revision, Revision pegRevision, List<String> patterns, Depth depth, int direntFields, boolean fetchLocks, boolean includeExternals, ListItemCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Lists the directory entries of a url on the server.
      Specified by:
      list in interface ISVNClient
      Parameters:
      url - the url to list
      revision - the revision to list
      pegRevision - the revision to interpret url
      patterns - optional glob patterns to filter the result
      depth - the depth to recurse into subdirectories
      direntFields - the fields to retrieve
      fetchLocks - whether to fetch lock information
      includeExternals - whether to list external items
      callback - the callback to receive the directory entries
      Throws:
      ClientException
    • list

      @Deprecated public void list​(String url, Revision revision, Revision pegRevision, Depth depth, int direntFields, boolean fetchLocks, ListCallback callback) throws ClientException
      Deprecated.
      Description copied from interface: ISVNClient
      Lists the directory entries of a url on the server.

      Behaves like the 1.10 version with patterns = null and includeExternals = false

      Specified by:
      list in interface ISVNClient
      Throws:
      ClientException
    • username

      public void username​(String username)
      Description copied from interface: ISVNClient
      Sets the username used for authentication.
      Specified by:
      username in interface ISVNClient
      Parameters:
      username - The username, ignored if the empty string. Set to the empty string to clear it.
      See Also:
      ISVNClient.password(String)
    • password

      public void password​(String password)
      Description copied from interface: ISVNClient
      Sets the password used for authentication.
      Specified by:
      password in interface ISVNClient
      Parameters:
      password - The password, ignored if the empty string. Set to the empty string to clear it.
      See Also:
      ISVNClient.username(String)
    • setPrompt

      public void setPrompt​(AuthnCallback prompt)
      Description copied from interface: ISVNClient
      Register callback interface to supply username and password on demand. This callback can also be used to provide theequivalent of the --no-auth-cache and --non-interactive arguments accepted by the command-line client.
      Specified by:
      setPrompt in interface ISVNClient
      Parameters:
      prompt - the callback interface
    • setPrompt

      public void setPrompt​(UserPasswordCallback prompt)
      Description copied from interface: ISVNClient
      Register callback interface to supply username and password on demand. This callback can also be used to provide theequivalent of the --no-auth-cache and --non-interactive arguments accepted by the command-line client.
      Specified by:
      setPrompt in interface ISVNClient
      Parameters:
      prompt - the callback interface
    • setTunnelAgent

      public void setTunnelAgent​(TunnelAgent tunnelAgent)
      Description copied from interface: ISVNClient
      Set callbacks for ra_svn tunnel handling.
      Specified by:
      setTunnelAgent in interface ISVNClient
    • logMessages

      @Deprecated public void logMessages​(String path, Revision pegRevision, List<RevisionRange> ranges, boolean stopOnCopy, boolean discoverPath, boolean includeMergedRevisions, Set<String> revProps, long limit, LogMessageCallback callback) throws ClientException
      Deprecated.
      Description copied from interface: ISVNClient
      Retrieve the log messages for an item.

      Behaves like the 1.10 version with allRevProps = false

      Specified by:
      logMessages in interface ISVNClient
      Throws:
      ClientException
    • logMessages

      public void logMessages​(String path, Revision pegRevision, List<RevisionRange> revisionRanges, boolean stopOnCopy, boolean discoverPath, boolean includeMergedRevisions, Set<String> revProps, boolean allRevProps, long limit, LogMessageCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Retrieve the log messages for an item.
      Specified by:
      logMessages in interface ISVNClient
      Parameters:
      path - path or url to get the log message for.
      pegRevision - revision to interpret path
      revisionRanges - an array of revision ranges to show
      stopOnCopy - do not continue on copy operations
      discoverPath - returns the paths of the changed items in the returned objects
      includeMergedRevisions - include log messages for revisions which were merged.
      revProps - the revprops to retrieve
      allRevProps - if true, ignore the revProps parameter and retrieve all revision properties
      limit - limit the number of log messages (if 0 or less no limit)
      callback - the object to receive the log messages
      Throws:
      ClientException
    • checkout

      public long checkout​(String moduleName, String destPath, Revision revision, Revision pegRevision, Depth depth, boolean ignoreExternals, boolean allowUnverObstructions) throws ClientException
      Description copied from interface: ISVNClient
      Executes a revision checkout.
      Specified by:
      checkout in interface ISVNClient
      Parameters:
      moduleName - name of the module to checkout.
      destPath - destination directory for checkout.
      revision - the revision to checkout.
      pegRevision - the peg revision to interpret the path
      depth - how deep to checkout files recursively.
      ignoreExternals - if externals are ignored during checkout
      allowUnverObstructions - allow unversioned paths that obstruct adds
      Throws:
      ClientException
    • notification2

      public void notification2​(ClientNotifyCallback notify)
      Description copied from interface: ISVNClient
      Sets the notification callback used to send processing information back to the calling program.
      Specified by:
      notification2 in interface ISVNClient
      Parameters:
      notify - listener that the SVN library should call on many file operations.
    • setConflictResolver

      public void setConflictResolver​(ConflictResolverCallback resolver)
      Description copied from interface: ISVNClient
      Set the conflict resolution callback.
      Specified by:
      setConflictResolver in interface ISVNClient
      Parameters:
      resolver - The conflict resolution callback.
    • setProgressCallback

      public void setProgressCallback​(ProgressCallback progress)
      Description copied from interface: ISVNClient
      Set the progress callback.
      Specified by:
      setProgressCallback in interface ISVNClient
      Parameters:
      progress - The progress callback.
    • remove

      public void remove​(Set<String> paths, boolean force, boolean keepLocal, Map<String,​String> revpropTable, CommitMessageCallback handler, CommitCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Sets a file for deletion.
      Specified by:
      remove in interface ISVNClient
      Parameters:
      paths - path or url to be deleted
      force - delete even when there are local modifications.
      keepLocal - only remove the paths from the repository.
      revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
      handler - the commit message callback
      Throws:
      ClientException
    • revert

      public void revert​(Set<String> paths, Depth depth, Collection<String> changelists, boolean clearChangelists, boolean metadataOnly) throws ClientException
      Description copied from interface: ISVNClient
      Reverts set of files or directories to a pristine state.
      Specified by:
      revert in interface ISVNClient
      depth - the depth to recurse into subdirectories
      changelists - changelists to filter by
      clearChangelists - If set, will clear changelist association from the reverted paths.
      metadataOnly - Revert just the metadata (including conflict data) and not the working files/dirs
      Throws:
      ClientException
    • revert

      public void revert​(Set<String> paths, Depth depth, Collection<String> changelists) throws ClientException
      Description copied from interface: ISVNClient
      Reverts set of files or directories to a pristine state.

      Behaves like the 1.9 version with clearChangelists set to false;

      Specified by:
      revert in interface ISVNClient
      Throws:
      ClientException
    • revert

      public void revert​(String path, Depth depth, Collection<String> changelists) throws ClientException
      Description copied from interface: ISVNClient
      Reverts a file to a pristine state.
      Specified by:
      revert in interface ISVNClient
      Parameters:
      path - path of the file.
      depth - the depth to recurse into subdirectories
      changelists - changelists to filter by
      Throws:
      ClientException
    • add

      public void add​(String path, Depth depth, boolean force, boolean noIgnores, boolean noAutoProps, boolean addParents) throws ClientException
      Description copied from interface: ISVNClient
      Adds a file to the repository.
      Specified by:
      add in interface ISVNClient
      Parameters:
      path - path to be added.
      depth - the depth to recurse into subdirectories
      force - if adding a directory and recurse true and path is a directory, all not already managed files are added.
      noIgnores - if false, don't add files or directories matching ignore patterns
      noAutoProps - if true, ignore any auto-props configuration
      addParents - add any intermediate parents to the working copy
      Throws:
      ClientException
    • add

      public void add​(String path, Depth depth, boolean force, boolean noIgnores, boolean addParents) throws ClientException
      Description copied from interface: ISVNClient
      Adds a file to the repository.

      Note: Behaves like the 1.8 version with noAutoProps set to false.

      Specified by:
      add in interface ISVNClient
      Parameters:
      path - path to be added.
      depth - the depth to recurse into subdirectories
      force - if adding a directory and recurse true and path is a directory, all not already managed files are added.
      noIgnores - if false, don't add files or directories matching ignore patterns
      addParents - add any intermediate parents to the working copy
      Throws:
      ClientException
    • update

      public long[] update​(Set<String> paths, Revision revision, Depth depth, boolean depthIsSticky, boolean makeParents, boolean ignoreExternals, boolean allowUnverObstructions) throws ClientException
      Description copied from interface: ISVNClient
      Updates the directories or files from repository
      Specified by:
      update in interface ISVNClient
      Parameters:
      paths - array of target files.
      revision - the revision number to update. Revision.HEAD will update to the latest revision.
      depth - the depth to recursively update.
      depthIsSticky - if set, and depth is not Depth.unknown, then also set the ambient depth value to depth.
      ignoreExternals - if externals are ignored during update
      allowUnverObstructions - allow unversioned paths that obstruct adds
      Throws:
      ClientException
    • commit

      public void commit​(Set<String> paths, Depth depth, boolean noUnlock, boolean keepChangelist, Collection<String> changelists, Map<String,​String> revpropTable, CommitMessageCallback handler, CommitCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Commits changes to the repository.
      Specified by:
      commit in interface ISVNClient
      Parameters:
      paths - files to commit.
      depth - how deep to recurse in subdirectories
      noUnlock - do remove any locks
      keepChangelist - keep changelist associations after the commit.
      changelists - if non-null, filter paths using changelists
      revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
      handler - the commit message callback
      Throws:
      ClientException
    • copy

      public void copy​(List<CopySource> sources, String destPath, boolean copyAsChild, boolean makeParents, boolean ignoreExternals, boolean metadataOnly, boolean pinExternals, Map<String,​List<ExternalItem>> externalsToPin, Map<String,​String> revpropTable, CommitMessageCallback handler, CommitCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Copy versioned paths with the history preserved.
      Specified by:
      copy in interface ISVNClient
      Parameters:
      sources - A list of CopySource objects.
      destPath - Destination path or URL.
      copyAsChild - Whether to copy srcPaths as children of destPath.
      makeParents - Whether to create intermediate parents
      ignoreExternals - Whether or not to process external definitions as part of this operation.
      metadataOnly - Copy just the metadata and not the working files/dirs
      pinExternals - Whether or not to pin external definitions as part of this operation.
      externalsToPin - The set of externals to pin. Keys are either local absolute paths (when the source of the copy is the working copy) or URLs within the repository (when the source is the repository) where an svn:externals property is defined. Values are lists of parsed ExternalItem objects from each external definitions. If pinExternals is true, only the externals in this set will be pinned; if this parameter is null, all externals will be pinned. If pinExternals is false, this parameter will be ignored.
      revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
      handler - the commit message callback, may be null if destPath is not a URL
      Throws:
      ClientException - If the copy operation fails.
    • copy

      public void copy​(List<CopySource> sources, String destPath, boolean copyAsChild, boolean makeParents, boolean ignoreExternals, Map<String,​String> revpropTable, CommitMessageCallback handler, CommitCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Copy versioned paths with the history preserved.

      Behaves like the 1.9 version with pinExternals set to false and externalsToPin set to null and metadataOnly set to false.

      Specified by:
      copy in interface ISVNClient
      Throws:
      ClientException
    • move

      public void move​(Set<String> srcPaths, String destPath, boolean force, boolean moveAsChild, boolean makeParents, boolean metadataOnly, boolean allowMixRev, Map<String,​String> revpropTable, CommitMessageCallback handler, CommitCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Move or rename versioned paths.
      Specified by:
      move in interface ISVNClient
      Parameters:
      srcPaths - Source paths or URLs.
      destPath - Destination path or URL.
      force - Whether to perform the move even if local modifications exist.
      moveAsChild - Whether to move srcPaths as children of destPath.
      makeParents - Whether to create intermediate parents.
      metadataOnly - Move just the metadata and not the working files/dirs
      allowMixRev - If true use copy and delete without move tracking when a srcPath is mixed-revision, if false return an error when a srcPath is mixed-revision.
      revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
      handler - the commit message callback, may be null if destPath is not a URL
      Throws:
      ClientException - If the move operation fails.
    • move

      @Deprecated public void move​(Set<String> srcPaths, String destPath, boolean force, boolean moveAsChild, boolean makeParents, Map<String,​String> revpropTable, CommitMessageCallback handler, CommitCallback callback) throws ClientException
      Deprecated.
      Specified by:
      move in interface ISVNClient
      Throws:
      ClientException
    • mkdir

      public void mkdir​(Set<String> paths, boolean makeParents, Map<String,​String> revpropTable, CommitMessageCallback handler, CommitCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Creates a directory directly in a repository or creates a directory on disk and schedules it for addition.
      Specified by:
      mkdir in interface ISVNClient
      Parameters:
      paths - directories to be created
      makeParents - Whether to create intermediate parents
      revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
      handler - the handler to use if paths contains URLs
      Throws:
      ClientException
    • cleanup

      public void cleanup​(String path, boolean breakLocks, boolean fixRecordedTimestamps, boolean clearDavCache, boolean removeUnusedPristines, boolean includeExternals) throws ClientException
      Description copied from interface: ISVNClient
      Recursively cleans up a local directory, finishing any incomplete operations, removing lockfiles, etc.
      Specified by:
      cleanup in interface ISVNClient
      Parameters:
      path - a local directory.
      breakLocks - ### FIXME: Missing docstring in svn_client.h
      clearDavCache - ### FIXME: Missing docstring in svn_client.h
      removeUnusedPristines - ### FIXME: Missing docstring in svn_client.h
      includeExternals - Recurse into externals working copies and clean them up, too.
      Throws:
      ClientException
    • cleanup

      public void cleanup​(String path) throws ClientException
      Description copied from interface: ISVNClient
      Recursively cleans up a local directory, finishing any incomplete operations, removing lockfiles, etc.

      Behaves like the 1.9 version with includeExternals set to false, and the other flags to true.

      Specified by:
      cleanup in interface ISVNClient
      Parameters:
      path - a local directory.
      Throws:
      ClientException
    • resolve

      public void resolve​(String path, Depth depth, ConflictResult.Choice conflictResult) throws SubversionException
      Description copied from interface: ISVNClient
      Resolves the conflicted state on a WC path (or tree).
      Specified by:
      resolve in interface ISVNClient
      Parameters:
      path - The path to resolve.
      depth - How deep to recurse into child paths.
      conflictResult - Which version to choose in the event of a conflict.
      Throws:
      SubversionException - If an error occurs.
    • doExport

      public long doExport​(String srcPath, String destPath, Revision revision, Revision pegRevision, boolean force, boolean ignoreExternals, boolean ignorKeywords, Depth depth, String nativeEOL) throws ClientException
      Description copied from interface: ISVNClient
      Exports the contents of either a subversion repository into a 'clean' directory (meaning a directory with no administrative directories).
      Specified by:
      doExport in interface ISVNClient
      Parameters:
      srcPath - the url of the repository path to be exported
      destPath - a destination path that must not already exist.
      revision - the revsion to be exported
      pegRevision - the revision to interpret srcPath
      force - set if it is ok to overwrite local files
      ignoreExternals - ignore external during export
      depth - how deep to recurse in subdirectories
      nativeEOL - which EOL characters to use during export
      Throws:
      ClientException
    • doExport

      public long doExport​(String srcPath, String destPath, Revision revision, Revision pegRevision, boolean force, boolean ignoreExternals, Depth depth, String nativeEOL) throws ClientException
      Description copied from interface: ISVNClient
      Exports the contents of either a subversion repository into a 'clean' directory (meaning a directory with no administrative directories).

      Note: Behaves like the 1.9 version with ignoreKeywords set to false.

      Specified by:
      doExport in interface ISVNClient
      Parameters:
      srcPath - the url of the repository path to be exported
      destPath - a destination path that must not already exist.
      revision - the revsion to be exported
      pegRevision - the revision to interpret srcPath
      force - set if it is ok to overwrite local files
      ignoreExternals - ignore external during export
      depth - how deep to recurse in subdirectories
      nativeEOL - which EOL characters to use during export
      Throws:
      ClientException
    • doSwitch

      public long doSwitch​(String path, String url, Revision revision, Revision pegRevision, Depth depth, boolean depthIsSticky, boolean ignoreExternals, boolean allowUnverObstructions, boolean ignoreAncestry) throws ClientException
      Description copied from interface: ISVNClient
      Update local copy to mirror a new url.
      Specified by:
      doSwitch in interface ISVNClient
      Parameters:
      path - the working copy path
      url - the new url for the working copy
      revision - the new base revision of working copy
      pegRevision - the revision at which to interpret path
      depth - how deep to traverse into subdirectories
      depthIsSticky - if set, and depth is not Depth.unknown, then also set the ambient depth value to depth.
      ignoreExternals - whether to process externals definitions
      allowUnverObstructions - allow unversioned paths that obstruct adds
      ignoreAncestry - whether to skip common ancestry sanity check between path and url
      Throws:
      ClientException
    • doImport

      public void doImport​(String path, String url, Depth depth, boolean noIgnore, boolean noAutoProps, boolean ignoreUnknownNodeTypes, Map<String,​String> revpropTable, ImportFilterCallback importFilterCallback, CommitMessageCallback handler, CommitCallback commitCallback) throws ClientException
      Description copied from interface: ISVNClient
      Import a file or directory into a repository directory at head.
      Specified by:
      doImport in interface ISVNClient
      Parameters:
      path - the local path
      url - the target url
      depth - depth to traverse into subdirectories
      noIgnore - whether to add files matched by ignore patterns
      noAutoProps - if true, ignore any auto-props configuration
      ignoreUnknownNodeTypes - whether to ignore files which the node type is not konwn, just as pipes
      revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
      handler - the commit message callback
      commitCallback - the commit status callback
      Throws:
      ClientException
    • doImport

      public void doImport​(String path, String url, Depth depth, boolean noIgnore, boolean ignoreUnknownNodeTypes, Map<String,​String> revpropTable, CommitMessageCallback handler, CommitCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Import a file or directory into a repository directory at head.

      Note: Behaves like the 1.8 version with noAutoProps set to false and without the filtering option.

      Specified by:
      doImport in interface ISVNClient
      Parameters:
      path - the local path
      url - the target url
      depth - depth to traverse into subdirectories
      noIgnore - whether to add files matched by ignore patterns
      ignoreUnknownNodeTypes - whether to ignore files which the node type is not konwn, just as pipes
      revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
      handler - the commit message callback
      callback - the commit status callback
      Throws:
      ClientException
    • suggestMergeSources

      public Set<String> suggestMergeSources​(String path, Revision pegRevision) throws SubversionException
      Description copied from interface: ISVNClient
      Return an ordered list of suggested merge source URLs.
      Specified by:
      suggestMergeSources in interface ISVNClient
      Parameters:
      path - The merge target path for which to suggest sources.
      pegRevision - Peg revision used to interpret path.
      Returns:
      The list of URLs, empty if there are no suggestions.
      Throws:
      ClientException - If an error occurs.
      SubversionException
    • merge

      public void merge​(String path1, Revision revision1, String path2, Revision revision2, String localPath, boolean force, Depth depth, boolean ignoreMergeinfo, boolean diffIgnoreAncestry, boolean dryRun, boolean allowMixedRev, boolean recordOnly) throws ClientException
      Description copied from interface: ISVNClient
      Merge changes from two paths into a new local path.
      Specified by:
      merge in interface ISVNClient
      Parameters:
      path1 - first path or url
      revision1 - first revision
      path2 - second path or url
      revision2 - second revision
      localPath - target local path
      force - overwrite local changes
      depth - how deep to traverse into subdirectories
      ignoreMergeinfo - ignore merge history, treat sources as unrelated
      diffIgnoreAncestry - always treat source files as related
      dryRun - do not change anything
      allowMixedRev - allow merging into a mixed-revision working copy
      recordOnly - record mergeinfo but do not run merge
      Throws:
      ClientException
    • merge

      public void merge​(String path1, Revision revision1, String path2, Revision revision2, String localPath, boolean force, Depth depth, boolean ignoreMergeinfo, boolean diffIgnoreAncestry, boolean dryRun, boolean recordOnly) throws ClientException
      Description copied from interface: ISVNClient
      Merge changes from two paths into a new local path.

      Note: Behaves like the 1.9 version with allowMixedRev always set to true.

      Specified by:
      merge in interface ISVNClient
      Parameters:
      path1 - first path or url
      revision1 - first revision
      path2 - second path or url
      revision2 - second revision
      localPath - target local path
      force - overwrite local changes
      depth - how deep to traverse into subdirectories
      ignoreMergeinfo - ignore merge history, treat sources as unrelated
      diffIgnoreAncestry - always treat source files as related
      dryRun - do not change anything
      recordOnly - record mergeinfo but do not run merge
      Throws:
      ClientException
    • merge

      public void merge​(String path1, Revision revision1, String path2, Revision revision2, String localPath, boolean force, Depth depth, boolean ignoreAncestry, boolean dryRun, boolean recordOnly) throws ClientException
      Description copied from interface: ISVNClient
      Merge changes from two paths into a new local path.

      Note: Behaves like the 1.8 version where ignoreAncestry maps to both ignoreMergeinfo and diffIgnoreAncestry

      Specified by:
      merge in interface ISVNClient
      Parameters:
      path1 - first path or url
      revision1 - first revision
      path2 - second path or url
      revision2 - second revision
      localPath - target local path
      force - overwrite local changes
      depth - how deep to traverse into subdirectories
      ignoreAncestry - ignore if files are not related
      dryRun - do not change anything
      recordOnly - record mergeinfo but do not run merge
      Throws:
      ClientException
    • merge

      public void merge​(String path, Revision pegRevision, List<RevisionRange> revisions, String localPath, boolean force, Depth depth, boolean ignoreMergeinfo, boolean diffIgnoreAncestry, boolean dryRun, boolean allowMixedRev, boolean recordOnly) throws ClientException
      Description copied from interface: ISVNClient
      Merge set of revisions into a new local path.
      Specified by:
      merge in interface ISVNClient
      Parameters:
      path - path or url
      pegRevision - revision to interpret path
      revisions - revisions to merge; may be null, indicating that the optimal range should be determined automatcially
      localPath - target local path
      force - overwrite local changes
      depth - how deep to traverse into subdirectories
      ignoreMergeinfo - ignore merge history, treat sources as unrelated
      diffIgnoreAncestry - always treat source files as related
      dryRun - do not change anything
      allowMixedRev - allow merging into a mixed-revision working copy
      recordOnly - record mergeinfo but do not run merge
      Throws:
      ClientException
    • merge

      public void merge​(String path, Revision pegRevision, List<RevisionRange> revisions, String localPath, boolean force, Depth depth, boolean ignoreMergeinfo, boolean diffIgnoreAncestry, boolean dryRun, boolean recordOnly) throws ClientException
      Description copied from interface: ISVNClient
      Merge set of revisions into a new local path.

      Note: Behaves like the 1.9 version with allowMixedRev always set to true.

      Specified by:
      merge in interface ISVNClient
      Parameters:
      path - path or url
      pegRevision - revision to interpret path
      revisions - revisions to merge; may be null, indicating that the optimal range should be determined automatcially
      localPath - target local path
      force - overwrite local changes
      depth - how deep to traverse into subdirectories
      ignoreMergeinfo - ignore merge history, treat sources as unrelated
      diffIgnoreAncestry - always treat source files as related
      dryRun - do not change anything
      recordOnly - record mergeinfo but do not run merge
      Throws:
      ClientException
    • merge

      public void merge​(String path, Revision pegRevision, List<RevisionRange> revisions, String localPath, boolean force, Depth depth, boolean ignoreAncestry, boolean dryRun, boolean recordOnly) throws ClientException
      Description copied from interface: ISVNClient
      Merge set of revisions into a new local path.

      Note: Behaves like the 1.8 version where ignoreAncestry maps to both ignoreMergeinfo and diffIgnoreAncestry.

      Specified by:
      merge in interface ISVNClient
      Parameters:
      path - path or url
      pegRevision - revision to interpret path
      revisions - revisions to merge; may be null, indicating that the optimal range should be determined automatcially (new in 1.8)
      localPath - target local path
      force - overwrite local changes
      depth - how deep to traverse into subdirectories
      ignoreAncestry - ignore if files are not related
      dryRun - do not change anything
      recordOnly - record mergeinfo but do not run merge
      Throws:
      ClientException
    • mergeReintegrate

      @Deprecated public void mergeReintegrate​(String path, Revision pegRevision, String localPath, boolean dryRun) throws ClientException
      Deprecated.
      Description copied from interface: ISVNClient
      Perform a reintegration merge of path into localPath. localPath must be a single-revision, infinite depth, pristine, unswitched working copy -- in other words, it must reflect a single revision tree, the "target". The mergeinfo on path must reflect that all of the target has been merged into it. Then this behaves like a merge from the target's URL to the localPath. The depth of the merge is always infinity.
      Specified by:
      mergeReintegrate in interface ISVNClient
      Parameters:
      path - path or url
      pegRevision - revision to interpret path
      localPath - target local path
      dryRun - do not change anything
      Throws:
      ClientException
    • getMergeinfo

      public Mergeinfo getMergeinfo​(String path, Revision pegRevision) throws SubversionException
      Description copied from interface: ISVNClient
      Get mergeinfo for path at pegRevision.
      Specified by:
      getMergeinfo in interface ISVNClient
      Parameters:
      path - WC path or URL.
      pegRevision - peg revision at which to get the merge info for path.
      Returns:
      The merge history of path.
      Throws:
      SubversionException
    • getMergeinfoLog

      public void getMergeinfoLog​(Mergeinfo.LogKind kind, String pathOrUrl, Revision pegRevision, String mergeSourceUrl, Revision srcPegRevision, Revision srcStartRevision, Revision srcEndRevision, boolean discoverChangedPaths, Depth depth, Set<String> revProps, LogMessageCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Retrieve either merged or eligible-to-be-merged revisions.
      Specified by:
      getMergeinfoLog in interface ISVNClient
      Parameters:
      kind - kind of revisions to receive
      pathOrUrl - target of merge
      pegRevision - peg rev for pathOrUrl
      mergeSourceUrl - the source of the merge
      srcPegRevision - peg rev for mergeSourceUrl
      srcStartRevision - lower bound of the source revision range
      srcEndRevision - upper bound of the source revision range
      discoverChangedPaths - return paths of changed items
      depth - the depth to recurse to
      revProps - the revprops to retrieve
      callback - the object to receive the log messages
      Throws:
      ClientException
    • getMergeinfoLog

      public void getMergeinfoLog​(Mergeinfo.LogKind kind, String pathOrUrl, Revision pegRevision, String mergeSourceUrl, Revision srcPegRevision, boolean discoverChangedPaths, Depth depth, Set<String> revProps, LogMessageCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Retrieve either merged or eligible-to-be-merged revisions.

      Note: Behaves like the 1.8 version, with unspecified revision range.

      Specified by:
      getMergeinfoLog in interface ISVNClient
      Parameters:
      kind - kind of revisions to receive
      pathOrUrl - target of merge
      pegRevision - peg rev for pathOrUrl
      mergeSourceUrl - the source of the merge
      srcPegRevision - peg rev for mergeSourceUrl
      discoverChangedPaths - return paths of changed items
      depth - the depth to recurse to
      revProps - the revprops to retrieve
      callback - the object to receive the log messages
      Throws:
      ClientException
    • diff

      public void diff​(String target1, Revision revision1, String target2, Revision revision2, String relativeToDir, String outFileName, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds) throws ClientException
      Description copied from interface: ISVNClient
      Display the differences between two paths
      Specified by:
      diff in interface ISVNClient
      Parameters:
      target1 - first path or url
      revision1 - first revision
      target2 - second path or url
      revision2 - second revision
      relativeToDir - index path is relative to this path
      outFileName - file name where difference are written
      depth - how deep to traverse into subdirectories
      ignoreAncestry - ignore if files are not related
      noDiffDeleted - no output on deleted files
      force - diff even on binary files
      copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
      Throws:
      ClientException
    • diff

      public void diff​(String target1, Revision revision1, String target2, Revision revision2, String relativeToDir, OutputStream stream, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly) throws ClientException
      Description copied from interface: ISVNClient
      Display the differences between two paths
      Specified by:
      diff in interface ISVNClient
      Parameters:
      target1 - first path or url
      revision1 - first revision
      target2 - second path or url
      revision2 - second revision
      relativeToDir - index path is relative to this path
      stream - the stream to which difference are written
      depth - how deep to traverse into subdirectories
      ignoreAncestry - ignore if files are not related
      noDiffDeleted - no output on deleted files
      force - diff even on binary files
      copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
      ignoreProps - don't show property diffs
      propsOnly - show property changes only
      Throws:
      ClientException
    • diff

      public void diff​(String target1, Revision revision1, String target2, Revision revision2, String relativeToDir, String outFileName, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly, DiffOptions options) throws ClientException
      Description copied from interface: ISVNClient
      Display the differences between two paths
      Specified by:
      diff in interface ISVNClient
      Parameters:
      target1 - first path or url
      revision1 - first revision
      target2 - second path or url
      revision2 - second revision
      relativeToDir - index path is relative to this path
      outFileName - file name where difference are written
      depth - how deep to traverse into subdirectories
      ignoreAncestry - ignore if files are not related
      noDiffDeleted - no output on deleted files
      force - diff even on binary files
      copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
      ignoreProps - don't show property diffs
      propsOnly - show property changes only
      options - additional options for controlling the output
      Throws:
      ClientException
    • diff

      public void diff​(String target1, Revision revision1, String target2, Revision revision2, String relativeToDir, OutputStream stream, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly, DiffOptions options) throws ClientException
      Description copied from interface: ISVNClient
      Display the differences between two paths
      Specified by:
      diff in interface ISVNClient
      Parameters:
      target1 - first path or url
      revision1 - first revision
      target2 - second path or url
      revision2 - second revision
      relativeToDir - index path is relative to this path
      stream - the stream to which difference are written
      depth - how deep to traverse into subdirectories
      ignoreAncestry - ignore if files are not related
      noDiffDeleted - no output on deleted files
      force - diff even on binary files
      copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
      ignoreProps - don't show property diffs
      propsOnly - show property changes only
      options - additional options for controlling the output
      Throws:
      ClientException
    • diff

      public void diff​(String target, Revision pegRevision, Revision startRevision, Revision endRevision, String relativeToDir, String outFileName, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds) throws ClientException
      Description copied from interface: ISVNClient
      Display the differences between two paths.
      Specified by:
      diff in interface ISVNClient
      Parameters:
      target - path or url
      pegRevision - revision tointerpret target
      startRevision - first Revision to compare
      endRevision - second Revision to compare
      relativeToDir - index path is relative to this path
      outFileName - file name where difference are written
      depth - how deep to traverse into subdirectories
      changelists - if non-null, filter paths using changelists
      ignoreAncestry - ignore if files are not related
      noDiffDeleted - no output on deleted files
      force - diff even on binary files
      copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
      Throws:
      ClientException
    • diff

      public void diff​(String target, Revision pegRevision, Revision startRevision, Revision endRevision, String relativeToDir, OutputStream stream, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly) throws ClientException
      Description copied from interface: ISVNClient
      Display the differences between two paths.
      Specified by:
      diff in interface ISVNClient
      Parameters:
      target - path or url
      pegRevision - revision tointerpret target
      startRevision - first Revision to compare
      endRevision - second Revision to compare
      relativeToDir - index path is relative to this path
      stream - the stream to which difference are written
      depth - how deep to traverse into subdirectories
      changelists - if non-null, filter paths using changelists
      ignoreAncestry - ignore if files are not related
      noDiffDeleted - no output on deleted files
      force - diff even on binary files
      copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
      ignoreProps - don't show property diffs
      propsOnly - show property changes only
      Throws:
      ClientException
    • diff

      public void diff​(String target, Revision pegRevision, Revision startRevision, Revision endRevision, String relativeToDir, String outFileName, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly, DiffOptions options) throws ClientException
      Description copied from interface: ISVNClient
      Display the differences between two paths.
      Specified by:
      diff in interface ISVNClient
      Parameters:
      target - path or url
      pegRevision - revision tointerpret target
      startRevision - first Revision to compare
      endRevision - second Revision to compare
      relativeToDir - index path is relative to this path
      outFileName - file name where difference are written
      depth - how deep to traverse into subdirectories
      changelists - if non-null, filter paths using changelists
      ignoreAncestry - ignore if files are not related
      noDiffDeleted - no output on deleted files
      force - diff even on binary files
      copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
      ignoreProps - don't show property diffs
      propsOnly - show property changes only
      options - additional options for controlling the output
      Throws:
      ClientException
    • diff

      public void diff​(String target, Revision pegRevision, Revision startRevision, Revision endRevision, String relativeToDir, OutputStream stream, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly, DiffOptions options) throws ClientException
      Description copied from interface: ISVNClient
      Display the differences between two paths.
      Specified by:
      diff in interface ISVNClient
      Parameters:
      target - path or url
      pegRevision - revision tointerpret target
      startRevision - first Revision to compare
      endRevision - second Revision to compare
      relativeToDir - index path is relative to this path
      stream - the stream to which difference are written
      depth - how deep to traverse into subdirectories
      changelists - if non-null, filter paths using changelists
      ignoreAncestry - ignore if files are not related
      noDiffDeleted - no output on deleted files
      force - diff even on binary files
      copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
      ignoreProps - don't show property diffs
      propsOnly - show property changes only
      options - additional options for controlling the output
      Throws:
      ClientException
    • diffSummarize

      public void diffSummarize​(String target1, Revision revision1, String target2, Revision revision2, Depth depth, Collection<String> changelists, boolean ignoreAncestry, DiffSummaryCallback receiver) throws ClientException
      Description copied from interface: ISVNClient
      Produce a diff summary which lists the items changed between path and revision pairs.
      Specified by:
      diffSummarize in interface ISVNClient
      Parameters:
      target1 - Path or URL.
      revision1 - Revision of target1.
      target2 - Path or URL.
      revision2 - Revision of target2.
      depth - how deep to recurse.
      changelists - if non-null, filter paths using changelists
      ignoreAncestry - Whether to ignore unrelated files during comparison. False positives may potentially be reported if this parameter false, since a file might have been modified between two revisions, but still have the same contents.
      receiver - As each is difference is found, this callback is invoked with a description of the difference.
      Throws:
      ClientException
    • diffSummarize

      public void diffSummarize​(String target, Revision pegRevision, Revision startRevision, Revision endRevision, Depth depth, Collection<String> changelists, boolean ignoreAncestry, DiffSummaryCallback receiver) throws ClientException
      Description copied from interface: ISVNClient
      Produce a diff summary which lists the items changed between path and revision pairs.
      Specified by:
      diffSummarize in interface ISVNClient
      Parameters:
      target - Path or URL.
      pegRevision - Revision at which to interpret target. If Revision.UNSPECIFIED or null, behave identically to ISVNClient.diffSummarize(String, Revision, String, Revision, Depth, Collection, boolean, DiffSummaryCallback), using path for both of that method's targets.
      startRevision - Beginning of range for comparison of target.
      endRevision - End of range for comparison of target.
      depth - how deep to recurse.
      changelists - if non-null, filter paths using changelists
      ignoreAncestry - Whether to ignore unrelated files during comparison. False positives may potentially be reported if this parameter false, since a file might have been modified between two revisions, but still have the same contents.
      receiver - As each is difference is found, this callback is invoked with a description of the difference.
      Throws:
      ClientException
    • properties

      public void properties​(String path, Revision revision, Revision pegRevision, Depth depth, Collection<String> changelists, ProplistCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Retrieves the properties of an item
      Specified by:
      properties in interface ISVNClient
      Parameters:
      path - the path of the item
      revision - the revision of the item
      pegRevision - the revision to interpret path
      depth - the depth to recurse into subdirectories
      changelists - changelists to filter by
      callback - the callback to use to return the properties
      Throws:
      ClientException
    • properties

      public void properties​(String path, Revision revision, Revision pegRevision, Depth depth, Collection<String> changelists, InheritedProplistCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Retrieves the properties of an item, including inherited properties.
      Specified by:
      properties in interface ISVNClient
      Parameters:
      path - the path of the item
      revision - the revision of the item
      pegRevision - the revision to interpret path
      depth - the depth to recurse into subdirectories
      changelists - changelists to filter by
      callback - the callback to use to return the properties
      Throws:
      ClientException
    • propertySetLocal

      public void propertySetLocal​(Set<String> paths, String name, byte[] value, Depth depth, Collection<String> changelists, boolean force) throws ClientException
      Description copied from interface: ISVNClient
      Sets one property of an item with a String value
      Specified by:
      propertySetLocal in interface ISVNClient
      Parameters:
      paths - paths of the items
      name - name of the property
      value - new value of the property. Set value to null to delete a property
      depth - the depth to recurse into subdirectories
      changelists - changelists to filter by
      force - do not check if the value is valid
      Throws:
      ClientException
    • propertySetRemote

      public void propertySetRemote​(String path, long baseRev, String name, byte[] value, CommitMessageCallback handler, boolean force, Map<String,​String> revpropTable, CommitCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Sets one property of an item with a String value
      Specified by:
      propertySetRemote in interface ISVNClient
      name - name of the property
      value - new value of the property. Set value to null to delete a property
      force - do not check if the value is valid
      revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
      Throws:
      ClientException
    • revProperty

      public byte[] revProperty​(String path, String name, Revision rev) throws ClientException
      Description copied from interface: ISVNClient
      Retrieve one revsision property of one item
      Specified by:
      revProperty in interface ISVNClient
      Parameters:
      path - path of the item
      name - name of the property
      rev - revision to retrieve
      Returns:
      the Property
      Throws:
      ClientException
    • revProperties

      public Map<String,​byte[]> revProperties​(String path, Revision rev) throws ClientException
      Description copied from interface: ISVNClient
      Retrieve all revsision properties of one item
      Specified by:
      revProperties in interface ISVNClient
      Parameters:
      path - path of the item
      rev - revision to retrieve
      Returns:
      the Properties
      Throws:
      ClientException
    • setRevProperty

      public void setRevProperty​(String path, String name, Revision rev, String value, String originalValue, boolean force) throws ClientException
      Description copied from interface: ISVNClient
      set one revsision property of one item
      Specified by:
      setRevProperty in interface ISVNClient
      Parameters:
      path - path of the item
      name - name of the property
      rev - revision to retrieve
      value - value of the property
      originalValue - the original value of the property.
      force - use force to set
      Throws:
      ClientException
    • propertyGet

      public byte[] propertyGet​(String path, String name, Revision revision, Revision pegRevision) throws ClientException
      Specified by:
      propertyGet in interface ISVNClient
      Throws:
      ClientException
    • propertyGet

      public byte[] propertyGet​(String path, String name, Revision revision, Revision pegRevision, Collection<String> changelists) throws ClientException
      Description copied from interface: ISVNClient
      Retrieve one property of one item
      Specified by:
      propertyGet in interface ISVNClient
      Parameters:
      path - path of the item
      name - name of property
      revision - revision of the item
      pegRevision - the revision to interpret path
      Returns:
      the Property
      Throws:
      ClientException
    • fileContent

      public byte[] fileContent​(String path, Revision revision, Revision pegRevision) throws ClientException
      Description copied from interface: ISVNClient
      Retrieve the content of a file Always expands keywords and never returns properties.
      Specified by:
      fileContent in interface ISVNClient
      Parameters:
      path - the path of the file
      revision - the revision to retrieve
      pegRevision - the revision to interpret path
      Returns:
      the content as byte array
      Throws:
      ClientException
    • streamFileContent

      public Map<String,​byte[]> streamFileContent​(String path, Revision revision, Revision pegRevision, boolean expandKeywords, boolean returnProps, OutputStream stream) throws ClientException
      Description copied from interface: ISVNClient
      Write the file's content to the specified output stream. If you need an InputStream, use a PipedInputStream/PipedOutputStream combination.
      Specified by:
      streamFileContent in interface ISVNClient
      Parameters:
      path - the path of the file
      revision - the revision to retrieve
      pegRevision - the revision at which to interpret the path
      returnProps - whether to return the file's own (not inherited) properties dalong with the contents
      stream - the stream to write the file's content to
      Returns:
      The file's properties if returnProps is set (which may yield an empty map), otherwise null.
      Throws:
      ClientException
      See Also:
      PipedOutputStream, PipedInputStream
    • streamFileContent

      public void streamFileContent​(String path, Revision revision, Revision pegRevision, OutputStream stream) throws ClientException
      Description copied from interface: ISVNClient
      Write the file's content to the specified output stream. If you need an InputStream, use a PipedInputStream/PipedOutputStream combination. Always expands keywords and never returns properties.
      Specified by:
      streamFileContent in interface ISVNClient
      Parameters:
      path - the path of the file
      revision - the revision to retrieve
      pegRevision - the revision at which to interpret the path
      stream - the stream to write the file's content to
      Throws:
      ClientException
      See Also:
      PipedOutputStream, PipedInputStream
    • relocate

      public void relocate​(String from, String to, String path, boolean ignoreExternals) throws ClientException
      Description copied from interface: ISVNClient
      Rewrite the url's in the working copy
      Specified by:
      relocate in interface ISVNClient
      Parameters:
      from - old url
      to - new url
      path - working copy path
      ignoreExternals - if externals are ignored during relocate
      Throws:
      ClientException
    • blame

      @Deprecated public void blame​(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, BlameCallback callback) throws ClientException
      Deprecated.
      Description copied from interface: ISVNClient
      Retrieve the content together with the author, the revision and the date of the last change of each line

      Behaves like the 1.9 version with options set to their default values.

      Specified by:
      blame in interface ISVNClient
      Throws:
      ClientException
    • blame

      @Deprecated public void blame​(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, BlameCallback callback, DiffOptions options) throws ClientException
      Deprecated.
      Description copied from interface: ISVNClient
      Retrieve the content together with the author, the revision and the date of the last change of each line

      Behaves like the 1.12 version but uses BlameCallback instead of BlameLineCallback. The former expects that file contents can be converted from UTF-8 to a String, which is not true in general and may throw exceptions.

      Specified by:
      blame in interface ISVNClient
      Throws:
      ClientException
    • blame

      public void blame​(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, DiffOptions options, BlameRangeCallback rangeCallback, BlameLineCallback lineCallback) throws ClientException
      Description copied from interface: ISVNClient
      Retrieve the content together with the author, the revision and the date of the last change of each line.
      Specified by:
      blame in interface ISVNClient
      Parameters:
      path - the path
      pegRevision - the revision to interpret the path
      revisionStart - the first revision to show
      revisionEnd - the last revision to show
      ignoreMimeType - whether or not to ignore the mime-type
      includeMergedRevisions - whether or not to include extra merge information
      options - additional options for controlling the output
      rangeCallback - receives the resolved revision range; called exactly once before #lineCallback
      lineCallback - callback to receive the file content and the other information for every line in the file
      Throws:
      ClientException
    • setConfigDirectory

      public void setConfigDirectory​(String configDir) throws ClientException
      Description copied from interface: ISVNClient
      Set directory for the configuration information, taking the usual steps to ensure that Subversion's config file templates exist in the specified location.. On Windows, setting a non-null value will override lookup of configuration in the registry.
      Specified by:
      setConfigDirectory in interface ISVNClient
      Parameters:
      configDir - Path of the directory, or null for the platform's default.
      Throws:
      ClientException
    • getConfigDirectory

      public String getConfigDirectory() throws ClientException
      Description copied from interface: ISVNClient
      Get the configuration directory
      Specified by:
      getConfigDirectory in interface ISVNClient
      Returns:
      the directory
      Throws:
      ClientException
    • setConfigEventHandler

      public void setConfigEventHandler​(ConfigEvent configHandler) throws ClientException
      Description copied from interface: ISVNClient
      Set an event handler that will be called every time the configuration is loaded by this client object.
      Specified by:
      setConfigEventHandler in interface ISVNClient
      Throws:
      ClientException
    • getConfigEventHandler

      public ConfigEvent getConfigEventHandler() throws ClientException
      Description copied from interface: ISVNClient
      Return a reference to the installed configuration event handler. The returned value may be null.
      Specified by:
      getConfigEventHandler in interface ISVNClient
      Throws:
      ClientException
    • cancelOperation

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

      public void addToChangelist​(Set<String> paths, String changelist, Depth depth, Collection<String> changelists) throws ClientException
      Description copied from interface: ISVNClient
      Add paths to a changelist
      Specified by:
      addToChangelist in interface ISVNClient
      Parameters:
      paths - paths to add to the changelist
      changelist - changelist name
      depth - the depth to recurse
      changelists - changelists to filter by
      Throws:
      ClientException
    • removeFromChangelists

      public void removeFromChangelists​(Set<String> paths, Depth depth, Collection<String> changelists) throws ClientException
      Description copied from interface: ISVNClient
      Remove paths from a changelist
      Specified by:
      removeFromChangelists in interface ISVNClient
      Parameters:
      paths - paths to remove from the changelist
      depth - the depth to recurse
      changelists - changelists to filter by
      Throws:
      ClientException
    • getChangelists

      public void getChangelists​(String rootPath, Collection<String> changelists, Depth depth, ChangelistCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Recursively get the paths which belong to a changelist
      Specified by:
      getChangelists in interface ISVNClient
      Parameters:
      rootPath - the wc path under which to check
      changelists - the changelists to look under; if null, all changelists will be considered.
      depth - the depth to recurse
      callback - the callback to return the changelists through
      Throws:
      ClientException
    • getVersionInfo

      public String getVersionInfo​(String path, String trailUrl, boolean lastChanged) throws ClientException
      Description copied from interface: ISVNClient
      Produce a compact "version number" for a working copy
      Specified by:
      getVersionInfo in interface ISVNClient
      Parameters:
      path - path of the working copy
      trailUrl - to detect switches of the whole working copy
      lastChanged - last changed rather than current revisions
      Returns:
      the compact "version number"
      Throws:
      ClientException
    • upgrade

      public void upgrade​(String path) throws ClientException
      Description copied from interface: ISVNClient
      Recursively upgrade a working copy to a new metadata storage format.
      Specified by:
      upgrade in interface ISVNClient
      Parameters:
      path - path of the working copy
      Throws:
      ClientException
    • enableLogging

      public static void enableLogging​(SVNClient.ClientLogLevel logLevel, String logFilePath)
      Enable logging in the JNI-code
      Parameters:
      logLevel - the level of information to log (See ClientLogLevel)
      logFilePath - path of the log file
    • version

      public static String version()
      Returns version information of subversion and the javahl binding
      Returns:
      version information
    • versionMajor

      public static int versionMajor()
      Returns the major version of the javahl binding. Same version of the javahl support the same interfaces
      Returns:
      major version number
    • versionMinor

      public static int versionMinor()
      Returns the minor version of the javahl binding. Same version of the javahl support the same interfaces
      Returns:
      minor version number
    • versionMicro

      public static int versionMicro()
      Returns the micro (patch) version of the javahl binding. Same version of the javahl support the same interfaces
      Returns:
      micro version number
    • lock

      public void lock​(Set<String> paths, String comment, boolean force) throws ClientException
      Description copied from interface: ISVNClient
      Lock a working copy item
      Specified by:
      lock in interface ISVNClient
      Parameters:
      paths - path of the item
      force - break an existing lock
      Throws:
      ClientException
    • unlock

      public void unlock​(Set<String> paths, boolean force) throws ClientException
      Description copied from interface: ISVNClient
      Unlock a working copy item
      Specified by:
      unlock in interface ISVNClient
      Parameters:
      paths - path of the item
      force - break an existing lock
      Throws:
      ClientException
    • info

      public void info​(String pathOrUrl, Revision revision, Revision pegRevision, Depth depth, boolean fetchExcluded, boolean fetchActualOnly, boolean includeExternals, Collection<String> changelists, InfoCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Invoke callback to return information pathOrUrl in revision. The information returned is system-generated metadata, not the sort of "property" metadata created by users.

      If both revision arguments are either null or Revision.START, then information will be pulled solely from the working copy; no network connections will be made.

      Otherwise, information will be pulled from a repository. The actual node revision selected is determined by the pathOrUrl as it exists in pegRevision. If pegRevision is Revision.START, then it defaults to Revision.HEAD for URLs or Revision.WORKING for WC targets.

      If pathOrUrl is not a local path, then if revision is Revision.PREVIOUS (or some other kind that requires a local path), an error will be returned, because the desired revision cannot be determined.

      If pathOrUrl is a file, just invoke the callback on it. If it is a directory, then descend according to depth.

      Specified by:
      info in interface ISVNClient
      Parameters:
      pathOrUrl - the path or the url of the item
      revision - the revision of the item to return
      pegRevision - the revision to interpret pathOrUrl
      depth - the depth to recurse
      fetchExcluded - when true, retrieve information about nodes that are excluded from the working copy
      fetchActualOnly - when true, retrieve information about node that are not versioned, but are still tree conflicted.
      includeExternals - Recurs into externals directories
      changelists - if non-null, filter paths using changelists
      callback - a callback to receive the infos retrieved
      Throws:
      ClientException
    • info2

      public void info2​(String pathOrUrl, Revision revision, Revision pegRevision, Depth depth, Collection<String> changelists, InfoCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Retrieve information about repository or working copy items.

      Behaves like the 1.9 version, with fetchExcluded set to false, fetchActualOnly set to true anf includeExternals set to false.

      Specified by:
      info2 in interface ISVNClient
      Throws:
      ClientException
    • patch

      public void patch​(String patchPath, String targetPath, boolean dryRun, int stripCount, boolean reverse, boolean ignoreWhitespace, boolean removeTempfiles, PatchCallback callback) throws ClientException
      Description copied from interface: ISVNClient
      Apply a unidiff patch.
      Specified by:
      patch in interface ISVNClient
      Parameters:
      patchPath - the path of the patch
      targetPath - the path to be patched
      dryRun - whether to actually modify the local content
      stripCount - how many leading path components should be removed
      reverse - whether to reverse the patch
      ignoreWhitespace - whether to ignore whitespace
      removeTempfiles - whether to remove temp files
      callback - a handler to receive information as files are patched
      Throws:
      ClientException
    • vacuum

      public void vacuum​(String wcPath, boolean removeUnversionedItems, boolean removeIgnoredItems, boolean fixRecordedTimestamps, boolean removeUnusedPristines, boolean includeExternals) throws ClientException
      Description copied from interface: ISVNClient
      Recursively vacuum a working copy, removing unnecessary data.

      This method will report an error when removeUnversionedItems or removeIgnoredItems are set, and the working copy is already locked. This prevents accidental corruption of the working copy if this method is invoked while another client is performing some other operation on the working copy.

      Specified by:
      vacuum in interface ISVNClient
      Parameters:
      wcPath - The path of the working copy directory.
      removeUnversionedItems - Remove unversioned items from the working copy after it has been successfully cleaned up.
      removeIgnoredItems - Remove unversioned items that are ignored by Subversion, after the working copy has been successfully cleaned up.
      fixRecordedTimestamps - Update timestamps recorded in the working copy database to their actual on-disk values.
      removeUnusedPristines - Remove pristine files that are not referenced by the working copy.
      includeExternals - Recurse into externals working copies and vacuum them, too.
      Throws:
      ClientException
    • openRemoteSession

      public ISVNRemote openRemoteSession​(String pathOrUrl) throws ClientException, SubversionException
      Description copied from interface: ISVNClient
      Open a persistent session to a repository.

      Note: The session object inherits the progress callback, configuration directory and authentication info.

      Specified by:
      openRemoteSession in interface ISVNClient
      Parameters:
      pathOrUrl - A path in a working copy from which the session URL is derived, or the URL itself.
      Throws:
      ClientException
      SubversionException - If an URL redirect cycle was detected
    • openRemoteSession

      public ISVNRemote openRemoteSession​(String pathOrUrl, int retryAttempts) throws ClientException, SubversionException
      Description copied from interface: ISVNClient
      Open a persistent session to a repository.

      Note: The session object inherits the progress callback, configuration directory and authentication info.

      Specified by:
      openRemoteSession in interface ISVNClient
      Parameters:
      pathOrUrl - A path in a working copy from which the session URL is derived, or the URL itself.
      retryAttempts - The number of times to retry the operation if the given URL is redirected.
      Throws:
      ClientException
      SubversionException - If an URL redirect cycle was detected