Class SVNLogClient16

java.lang.Object
org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate
org.tmatesoft.svn.core.internal.wc16.SVNLogClient16
All Implemented Interfaces:
ISVNCanceller, ISVNEventHandler

public class SVNLogClient16 extends SVNBasicDelegate
The SVNLogClient class is intended for such purposes as getting revisions history, browsing repository entries and annotating file contents.

Here's a list of the SVNLogClient's methods matched against corresponing commands of the SVN command line client:

SVNKit Subversion
doLog() 'svn log'
doList() 'svn list'
doAnnotate() 'svn blame'
Since:
1.2
Version:
1.3
  • Field Details

  • Constructor Details

    • SVNLogClient16

      public SVNLogClient16(ISVNAuthenticationManager authManager, ISVNOptions options)
      Constructs and initializes an SVNLogClient object with the specified run-time configuration and authentication drivers.

      If options is null, then this SVNLogClient will be using a default run-time configuration driver which takes client-side settings from the default SVN's run-time configuration area but is not able to change those settings (read more on ISVNOptions and SVNWCUtil).

      If authManager is null, then this SVNLogClient will be using a default authentication and network layers driver (see SVNWCUtil.createDefaultAuthenticationManager()) which uses server-side settings and auth storage from the default SVN's run-time configuration area (or system properties if that area is not found).

      Parameters:
      authManager - an authentication and network layers driver
      options - a run-time configuration options driver
    • SVNLogClient16

      public SVNLogClient16(ISVNRepositoryPool repositoryPool, ISVNOptions options)
      Constructs and initializes an SVNLogClient object with the specified run-time configuration and authentication drivers.

      If options is null, then this SVNLogClient will be using a default run-time configuration driver which takes client-side settings from the default SVN's run-time configuration area but is not able to change those settings (read more on ISVNOptions and SVNWCUtil).

      If repositoryPool is null, then SVNRepositoryFactory will be used to create repository access objects.

      Parameters:
      repositoryPool - a repository pool object
      options - a run-time configuration options driver
  • Method Details

    • setDiffOptions

      public void setDiffOptions(SVNDiffOptions diffOptions)
      Sets diff options for this client to use in annotate operations.
      Parameters:
      diffOptions - diff options object
    • getDiffOptions

      public SVNDiffOptions getDiffOptions()
      Gets the diff options that are used in annotate operations by this client. Creates a new one if none was used before.
      Returns:
      diff options
    • doAnnotate

      public void doAnnotate(java.io.File path, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, ISVNAnnotateHandler handler) throws SVNException
      Obtains annotation information for each file text line from a repository (using a Working Copy path to get a corresponding URL) and passes it to a provided annotation handler.

      This method is equivalent to a call to doAnnotate(path, pegRevision, startRevision, endRevision, false, false, handler, null).

      Parameters:
      path - a WC file item to be annotated
      pegRevision - a revision in which path is first looked up in the repository
      startRevision - a revision for an operation to start from
      endRevision - a revision for an operation to stop at
      handler - a caller's handler to process annotation information
      Throws:
      SVNException - if startRevision > endRevision
      See Also:
    • doAnnotate

      public void doAnnotate(java.io.File path, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, boolean ignoreMimeType, ISVNAnnotateHandler handler) throws SVNException
      Obtains annotation information for each file text line from a repository (using a Working Copy path to get a corresponding URL) and passes it to a provided annotation handler.

      This method is equivalent to a call to doAnnotate(path, pegRevision, startRevision, endRevision, ignoreMimeType, false, handler, null).

      Parameters:
      path - a WC file item to be annotated
      pegRevision - a revision in which path is first looked up in the repository
      startRevision - a revision for an operation to start from
      endRevision - a revision for an operation to stop at
      ignoreMimeType - forces operation to run (all files to be treated as text, no matter what SVNKit has inferred from the mime-type property)
      handler - a caller's handler to process annotation information
      Throws:
      SVNException
      Since:
      1.1
      See Also:
    • doAnnotate

      public void doAnnotate(java.io.File path, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, boolean ignoreMimeType, boolean includeMergedRevisions, ISVNAnnotateHandler handler, java.lang.String inputEncoding) throws SVNException
      Invokes handler on each line-blame item associated with revision endRevision of path, using startRevision as the default source of all blame.

      pegRevision indicates in which revision path is valid. If pegRevision is SVNRevision.UNDEFINED, then it defaults to SVNRevision.WORKING.

      If startRevision is null or invalid, then it defaults to revision 1. If endRevision is null or invalid, then in defaults to SVNRevision.HEAD.

      Note: this routine requires repository access.

      Parameters:
      path - a WC file item to be annotated
      pegRevision - a revision in which path is first looked up in the repository
      startRevision - a revision for an operation to start from
      endRevision - a revision for an operation to stop at
      ignoreMimeType - forces operation to run (all files to be treated as text, no matter what SVNKit has inferred from the mime-type property)
      includeMergedRevisions - if true, then also returns data based upon revisions which have been merged to path
      handler - a caller's handler to process annotation information
      inputEncoding - character set to decode input bytes with
      Throws:
      SVNException - in the following cases:
      Since:
      1.2, SVN 1.5
    • doAnnotate

      public void doAnnotate(SVNURL url, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, ISVNAnnotateHandler handler) throws SVNException
      Obtains annotation information for each file text line from a repository and passes it to a provided annotation handler.

      This method is equivalent to a call to doAnnotate(url, pegRevision, startRevision, endRevision, false, false, handler, null).

      Parameters:
      url - a URL of a text file that is to be annotated
      pegRevision - a revision in which path is first looked up in the repository
      startRevision - a revision for an operation to start from
      endRevision - a revision for an operation to stop at
      handler - a caller's handler to process annotation information
      Throws:
      SVNException - if startRevision > endRevision
      See Also:
    • doAnnotate

      public void doAnnotate(SVNURL url, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, ISVNAnnotateHandler handler, java.lang.String inputEncoding) throws SVNException
      Obtains annotation information for each file text line from a repository and passes it to a provided annotation handler.

      This method is equivalent to a call to doAnnotate(url, pegRevision, startRevision, endRevision, false, false, handler, inputEncoding).

      Parameters:
      url - a URL of a text file that is to be annotated
      pegRevision - a revision in which path is first looked up in the repository
      startRevision - a revision for an operation to start from
      endRevision - a revision for an operation to stop at
      handler - a caller's handler to process annotation information
      inputEncoding - a desired character set (encoding) of text lines
      Throws:
      SVNException
      See Also:
    • doAnnotate

      public void doAnnotate(SVNURL url, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, boolean ignoreMimeType, ISVNAnnotateHandler handler, java.lang.String inputEncoding) throws SVNException
      Obtains annotation information for each file text line from a repository and passes it to a provided annotation handler.

      This method is equivalent to a call to doAnnotate(url, pegRevision, startRevision, endRevision, ignoreMimeType, false, handler, inputEncoding).

      Parameters:
      url - a URL of a text file that is to be annotated
      pegRevision - a revision in which path is first looked up in the repository
      startRevision - a revision for an operation to start from
      endRevision - a revision for an operation to stop at
      ignoreMimeType - forces operation to run (all files to be treated as text, no matter what SVNKit has inferred from the mime-type property)
      handler - a caller's handler to process annotation information
      inputEncoding - a desired character set (encoding) of text lines
      Throws:
      SVNException
      Since:
      1.1
      See Also:
    • doAnnotate

      public void doAnnotate(SVNURL url, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, boolean ignoreMimeType, boolean includeMergedRevisions, ISVNAnnotateHandler handler, java.lang.String inputEncoding) throws SVNException
      Invokes handler on each line-blame item associated with revision endRevision of url, using startRevision as the default source of all blame.

      pegRevision indicates in which revision url is valid. If pegRevision is SVNRevision.UNDEFINED, then it defaults to SVNRevision.HEAD.

      If startRevision is null or invalid, then it defaults to revision 1. If endRevision is null or invalid, then in defaults to SVNRevision.HEAD.

      Note: this routine requires repository access

      Parameters:
      url - a URL of a text file that is to be annotated
      pegRevision - a revision in which url is first looked up in the repository
      startRevision - a revision for an operation to start from
      endRevision - a revision for an operation to stop at
      ignoreMimeType - forces operation to run (all files to be treated as text, no matter what SVNKit has inferred from the mime-type property)
      includeMergedRevisions - if true, then also returns data based upon revisions which have been merged to url
      handler - a caller's handler to process annotation information
      inputEncoding - character set to decode input bytes with
      Throws:
      SVNException - in the following cases:
      Since:
      1.2, SVN 1.5
    • doLog

      public void doLog(java.io.File[] paths, SVNRevision startRevision, SVNRevision endRevision, boolean stopOnCopy, boolean discoverChangedPaths, long limit, ISVNLogEntryHandler handler) throws SVNException
      Gets commit log messages with other revision specific information from a repository (using Working Copy paths to get corresponding URLs) and passes them to a log entry handler for processing. Useful for observing the history of affected paths, author, date and log comments information per revision.

      Calling this method is equivalent to doLog(paths, startRevision, endRevision, SVNRevision.UNDEFINED, stopOnCopy, discoverChangedPaths, false, limit, null, handler).

      Parameters:
      paths - an array of Working Copy paths, should not be null
      startRevision - a revision for an operation to start from (including this revision)
      endRevision - a revision for an operation to stop at (including this revision)
      stopOnCopy - true not to cross copies while traversing history, otherwise copies history will be also included into processing
      discoverChangedPaths - true to report of all changed paths for every revision being processed (those paths will be available by calling SVNLogEntry.getChangedPaths())
      limit - a maximum number of log entries to be processed
      handler - a caller's log entry handler
      Throws:
      SVNException - if one of the following is true:
      • a path is not under version control
      • can not obtain a URL of a WC path - there's no such entry in the Working Copy
      • paths contain entries that belong to different repositories
      See Also:
    • doLog

      public void doLog(java.io.File[] paths, SVNRevision startRevision, SVNRevision endRevision, SVNRevision pegRevision, boolean stopOnCopy, boolean discoverChangedPaths, boolean includeMergedRevisions, long limit, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
      Invokes handler on each log message from startRevision to endRevision in turn, inclusive (but never invokes handler on a given log message more than once).

      handler is invoked only on messages whose revisions involved a change to some path in paths. pegRevision indicates in which revision paths are valid. If pegRevision isinvalid, it defaults to SVNRevision.WORKING.

      If limit is non-zero, only invokes handler on the first limit logs.

      If discoverChangedPaths is set, then the changed paths Map argument will be passed to a constructor of SVNLogEntry on each invocation of handler.

      If stopOnCopy is set, copy history (if any exists) will not be traversed while harvesting revision logs for each target.

      If includeMergedRevisions is set, log information for revisions which have been merged to paths will also be returned.

      Refer to SVNLogEntry.hasChildren() for additional information on how to handle mergeinfo information during a log operation.

      If revisionProperties is null, retrieves all revision properties; else, retrieves only the revprops named in the array (i.e. retrieves none if the array is empty).

      If startRevision is valid but endRevision is not, then endRevision defaults to startRevision. If both startRevision and endRevision are invalid, then endRevision defaults to revision 0, and startRevision defaults either to pegRevision in case the latter one is valid, or to SVNRevision.BASE, if it is not.

      Important: to avoid an exception with the SVNErrorCode.FS_NO_SUCH_REVISION error code when invoked against an empty repository (i.e. one not containing a revision 1), callers should specify the range SVNRevision.HEAD:0.

      If the caller has provided a non-null ISVNEventHandler, it will be called with the SVNEventAction.SKIP event action on any unversioned paths.

      Note: this routine requires repository access.

      Parameters:
      paths - an array of Working Copy paths, for which log messages are desired
      startRevision - a revision for an operation to start from (including this revision)
      endRevision - a revision for an operation to stop at (including this revision)
      pegRevision - a revision in which paths are first looked up in the repository
      stopOnCopy - true not to cross copies while traversing history, otherwise copies history will be also included into processing
      discoverChangedPaths - true to report of all changed paths for every revision being processed (those paths will be available by calling SVNLogEntry.getChangedPaths())
      includeMergedRevisions - if true, merged revisions will be also reported
      limit - a maximum number of log entries to be processed
      revisionProperties - names of revision properties to retrieve
      handler - a caller's log entry handler
      Throws:
      SVNException - if one of the following is true:
      • can not obtain a URL of a WC path - there's no such entry in the Working Copy
      • paths contain entries that belong to different repositories
      Since:
      1.2, SVN 1.5
    • doLog

      public void doLog(java.io.File[] paths, java.util.Collection revisionRanges, SVNRevision pegRevision, boolean stopOnCopy, boolean discoverChangedPaths, boolean includeMergedRevisions, long limit, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
      Invokes handler on each log message from the given revisionRanges in turn, inclusive (but never invokes handler on a given log message more than once).

      handler is invoked only on messages whose revisions involved a change to some path in paths. pegRevision indicates in which revision paths are valid. If pegRevision isinvalid, it defaults to SVNRevision.WORKING.

      If limit is non-zero, only invokes handler on the first limit logs.

      If discoverChangedPaths is set, then the changed paths Map argument will be passed to a constructor of SVNLogEntry on each invocation of handler.

      If stopOnCopy is set, copy history (if any exists) will not be traversed while harvesting revision logs for each target.

      If includeMergedRevisions is set, log information for revisions which have been merged to paths will also be returned.

      Refer to SVNLogEntry.hasChildren() for additional information on how to handle mergeinfo information during a log operation.

      If revisionProperties is null, retrieves all revision properties; else, retrieves only the revprops named in the array (i.e. retrieves none if the array is empty).

      For every SVNRevisionRange in revisionRanges: If startRevision is valid but endRevision is not, then endRevision defaults to startRevision. If both startRevision and endRevision are invalid, then endRevision defaults to revision 0, and startRevision defaults either to pegRevision in case the latter one is valid, or to SVNRevision.BASE, if it is not.

      Important: to avoid an exception with the SVNErrorCode.FS_NO_SUCH_REVISION error code when invoked against an empty repository (i.e. one not containing a revision 1), callers should specify the range SVNRevision.HEAD:0.

      If the caller has provided a non-null ISVNEventHandler, it will be called with the SVNEventAction.SKIP event action on any unversioned paths.

      Note: this routine requires repository access.

      Parameters:
      paths - an array of Working Copy paths, for which log messages are desired
      revisionRanges - collection of SVNRevisionRange objects
      pegRevision - a revision in which paths are first looked up in the repository
      stopOnCopy - true not to cross copies while traversing history, otherwise copies history will be also included into processing
      discoverChangedPaths - true to report of all changed paths for every revision being processed (those paths will be available by calling SVNLogEntry.getChangedPaths())
      includeMergedRevisions - if true, merged revisions will be also reported
      limit - a maximum number of log entries to be processed
      revisionProperties - names of revision properties to retrieve
      handler - a caller's log entry handler
      Throws:
      SVNException - if one of the following is true:
      • can not obtain a URL of a WC path - there's no such entry in the Working Copy
      • paths contain entries that belong to different repositories
      Since:
      1.3, SVN 1.6
    • doLog

      public void doLog(java.io.File[] paths, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, boolean stopOnCopy, boolean discoverChangedPaths, long limit, ISVNLogEntryHandler handler) throws SVNException
      Gets commit log messages with other revision specific information from a repository (using Working Copy paths to get corresponding URLs) and passes them to a log entry handler for processing. Useful for observing the history of affected paths, author, date and log comments information per revision.

      Calling this method is equivalent to doLog(paths, startRevision, endRevision, pegRevision, stopOnCopy, discoverChangedPaths, false, limit, null, handler).

      Parameters:
      paths - an array of Working Copy paths, should not be null
      pegRevision - a revision in which path is first looked up in the repository
      startRevision - a revision for an operation to start from (including this revision)
      endRevision - a revision for an operation to stop at (including this revision)
      stopOnCopy - true not to cross copies while traversing history, otherwise copies history will be also included into processing
      discoverChangedPaths - true to report of all changed paths for every revision being processed (those paths will be available by calling SVNLogEntry.getChangedPaths())
      limit - a maximum number of log entries to be processed
      handler - a caller's log entry handler
      Throws:
      SVNException - if one of the following is true:
      • a path is not under version control
      • can not obtain a URL of a WC path - there's no such entry in the Working Copy
      • paths contain entries that belong to different repositories
      See Also:
    • doLog

      public void doLog(SVNURL url, java.lang.String[] paths, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, boolean stopOnCopy, boolean discoverChangedPaths, long limit, ISVNLogEntryHandler handler) throws SVNException
      Gets commit log messages with other revision specific information from a repository and passes them to a log entry handler for processing. Useful for observing the history of affected paths, author, date and log comments information per revision.

      Calling this method is equivalent to doLog(url, paths, pegRevision, startRevision, endRevision, stopOnCopy, discoverChangedPaths, false, limit, null, handler).

      Parameters:
      url - a target URL
      paths - an array of paths relative to the target url
      pegRevision - a revision in which url is first looked up
      startRevision - a revision for an operation to start from (including this revision)
      endRevision - a revision for an operation to stop at (including this revision)
      stopOnCopy - true not to cross copies while traversing history, otherwise copies history will be also included into processing
      discoverChangedPaths - true to report of all changed paths for every revision being processed (those paths will be available by calling SVNLogEntry.getChangedPaths())
      limit - a maximum number of log entries to be processed
      handler - a caller's log entry handler
      Throws:
      SVNException
      Since:
      1.1, new in Subversion 1.4
      See Also:
    • doLog

      public void doLog(SVNURL url, java.lang.String[] paths, SVNRevision pegRevision, SVNRevision startRevision, SVNRevision endRevision, boolean stopOnCopy, boolean discoverChangedPaths, boolean includeMergedRevisions, long limit, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
      Invokes handler on each log message from startRevision to endRevision in turn, inclusive (but never invokes handler on a given log message more than once).

      handler is invoked only on messages whose revisions involved a change to some path in paths. pegRevision indicates in which revision paths are valid. If pegRevision isinvalid, it defaults to SVNRevision.HEAD.

      If limit is non-zero, only invokes handler on the first limit logs.

      If discoverChangedPaths is set, then the changed paths Map argument will be passed to a constructor of SVNLogEntry on each invocation of handler.

      If stopOnCopy is set, copy history (if any exists) will not be traversed while harvesting revision logs for each target.

      If includeMergedRevisions is set, log information for revisions which have been merged to paths will also be returned.

      If revisionProperties is null, retrieves all revision properties; else, retrieves only the revision properties named in the array (i.e. retrieves none if the array is empty).

      Important: to avoid an exception with the SVNErrorCode.FS_NO_SUCH_REVISION error code when invoked against an empty repository (i.e. one not containing a revision 1), callers should specify the range SVNRevision.HEAD:0.

      Note: this routine requires repository access.

      Parameters:
      url - repository URL
      paths - an array of paths relative to url
      pegRevision - a revision in which paths are first looked up in the repository
      startRevision - a revision for an operation to start from (including this revision)
      endRevision - a revision for an operation to stop at (including this revision)
      stopOnCopy - true not to cross copies while traversing history, otherwise copies history will be also included into processing
      discoverChangedPaths - true to report of all changed paths for every revision being processed (those paths will be available by calling SVNLogEntry.getChangedPaths())
      includeMergedRevisions - if true, merged revisions will be also reported
      limit - a maximum number of log entries to be processed
      revisionProperties - names of revision properties to retrieve
      handler - a caller's log entry handler
      Throws:
      SVNException
      Since:
      1.2, SVN 1.5
    • doLog

      public void doLog(SVNURL url, java.lang.String[] paths, SVNRevision pegRevision, java.util.Collection revisionRanges, boolean stopOnCopy, boolean discoverChangedPaths, boolean includeMergedRevisions, long limit, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
      Invokes handler on each log message from the given in turn, inclusive (but never invokes handler on a given log message more than once).

      handler is invoked only on messages whose revisions involved a change to some path in paths. pegRevision indicates in which revision paths are valid. If pegRevision isinvalid, it defaults to SVNRevision.HEAD.

      If limit is non-zero, only invokes handler on the first limit logs.

      If discoverChangedPaths is set, then the changed paths Map argument will be passed to a constructor of SVNLogEntry on each invocation of handler.

      If stopOnCopy is set, copy history (if any exists) will not be traversed while harvesting revision logs for each target.

      If includeMergedRevisions is set, log information for revisions which have been merged to paths will also be returned.

      If revisionProperties is null, retrieves all revision properties; else, retrieves only the revision properties named in the array (i.e. retrieves none if the array is empty).

      Important: to avoid an exception with the SVNErrorCode.FS_NO_SUCH_REVISION error code when invoked against an empty repository (i.e. one not containing a revision 1), callers should specify the range SVNRevision.HEAD:0.

      Note: this routine requires repository access.

      Parameters:
      url - repository URL
      paths - an array of paths relative to url
      pegRevision - a revision in which paths are first looked up in the repository
      revisionRanges - collection of SVNRevisionRange objects
      stopOnCopy - true not to cross copies while traversing history, otherwise copies history will be also included into processing
      discoverChangedPaths - true to report of all changed paths for every revision being processed (those paths will be available by calling SVNLogEntry.getChangedPaths())
      includeMergedRevisions - if true, merged revisions will be also reported
      limit - a maximum number of log entries to be processed
      revisionProperties - names of revision properties to retrieve
      handler - a caller's log entry handler
      Throws:
      SVNException
      Since:
      1.3, SVN 1.6
    • doList

      public void doList(java.io.File path, SVNRevision pegRevision, SVNRevision revision, boolean fetchLocks, boolean recursive, ISVNDirEntryHandler handler) throws SVNException
      Browses directory entries from a repository (using Working Copy paths to get corresponding URLs) and uses the provided dir entry handler to process them.

      On every entry that this method stops it gets some useful entry information which is packed into an SVNDirEntryobject and passed to the handler's handleDirEntry() method.

      Parameters:
      path - a WC item to get its repository location
      pegRevision - a revision in which the item's URL is first looked up
      revision - a target revision
      fetchLocks - true to fetch locks information from a repository
      recursive - true to descend recursively (relevant for directories)
      handler - a caller's directory entry handler (to process info on an entry)
      Throws:
      SVNException
    • doList

      public void doList(java.io.File path, SVNRevision pegRevision, SVNRevision revision, boolean fetchLocks, SVNDepth depth, int entryFields, ISVNDirEntryHandler handler) throws SVNException
      Reports the directory entry, and possibly children, for path at revision. The actual node revision selected is determined by the path as it exists in pegRevision. If pegRevision is invalid, then it defaults to SVNRevision.WORKING.

      Reports directory entries by invoking handler, setting a relative to path path to the SVNDirEntry object. The directory entry for path is reported using an empty path. If path is a directory, also reports its children.

      If depth is SVNDepth.EMPTY, lists just path itself. If depth is SVNDepth.FILES , lists path and its file entries. If SVNDepth.IMMEDIATES, lists its immediate file and directory entries. If SVNDepth.INFINITY, lists file entries and recurses (with SVNDepth.INFINITY) on directory entries.

      entryFields controls which fields in the SVNDirEntry are filled in. To have them totally filled in use SVNDirEntry.DIRENT_ALL, otherwise simply bitwise OR together the combination of fields you care about.

      Note: this routine requires repository access.

      Parameters:
      path - a WC item to get its repository location
      pegRevision - a revision in which the item's URL is first looked up
      revision - a target revision
      fetchLocks - true, includes locks when reporting directory entries
      depth - tree depth to process
      entryFields - entry fields to fill
      handler - a caller's directory entry handler (to process info on an entry)
      Throws:
      SVNException - in the following cases:
      Since:
      1.2, SVN 1.5
    • doList

      public void doList(java.io.File path, SVNRevision pegRevision, SVNRevision revision, boolean recursive, ISVNDirEntryHandler handler) throws SVNException
      Browses directory entries from a repository (using Working Copy paths to get corresponding URLs) and uses the provided dir entry handler to process them.

      On every entry that this method stops it gets some useful entry information which is packed into an SVNDirEntryobject and passed to the handler's handleDirEntry() method.

      Parameters:
      path - a WC item to get its repository location
      pegRevision - a revision in which the item's URL is first looked up
      revision - a target revision
      recursive - true to descend recursively (relevant for directories)
      handler - a caller's directory entry handler (to process info on an entry)
      Throws:
      SVNException
    • doList

      public void doList(SVNURL url, SVNRevision pegRevision, SVNRevision revision, boolean fetchLocks, boolean recursive, ISVNDirEntryHandler handler) throws SVNException
      Browses directory entries from a repository and uses the provided dir entry handler to process them. This method is especially useful when having no Working Copy.

      On every entry that this method stops it gets some useful entry information which is packed into an SVNDirEntryobject and passed to the handler's handleDirEntry() method.

      Parameters:
      url - a repository location to be "listed"
      pegRevision - a revision in which the item's URL is first looked up
      revision - a target revision
      fetchLocks - true to fetch locks information from repository
      recursive - true to descend recursively (relevant for directories)
      handler - a caller's directory entry handler (to process info on an entry)
      Throws:
      SVNException
      See Also:
    • doList

      public void doList(SVNURL url, SVNRevision pegRevision, SVNRevision revision, boolean fetchLocks, SVNDepth depth, int entryFields, ISVNDirEntryHandler handler) throws SVNException
      Reports the directory entry, and possibly children, for url at revision. The actual node revision selected is determined by the path as it exists in pegRevision. If pegRevision is invalid, then it defaults to SVNRevision.HEAD.

      Reports directory entries by invoking handler, setting a relative to url path to the SVNDirEntry object. The directory entry for url is reported using an empty path. If url is a directory, also reports its children.

      If depth is SVNDepth.EMPTY, lists just url itself. If depth is SVNDepth.FILES, lists url and its file entries. If SVNDepth.IMMEDIATES, lists its immediate file and directory entries. If SVNDepth.INFINITY, lists file entries and recurses (with SVNDepth.INFINITY) on directory entries.

      entryFields controls which fields in the SVNDirEntry are filled in. To have them totally filled in use SVNDirEntry.DIRENT_ALL, otherwise simply bitwise OR together the combination of fields you care about.

      Note: this routine requires repository access.

      Parameters:
      url - a repository url to be "listed"
      pegRevision - a revision in which the item's URL is first looked up
      revision - a target revision
      fetchLocks - true, includes locks when reporting directory entries
      depth - tree depth to process
      entryFields - entry fields to fill
      handler - a caller's directory entry handler (to process info on an entry)
      Throws:
      SVNException - in the following cases:
      Since:
      1.2, SVN 1.5
    • doList

      public void doList(SVNURL url, SVNRevision pegRevision, SVNRevision revision, boolean recursive, ISVNDirEntryHandler handler) throws SVNException
      Browses directory entries from a repository and uses the provided dir entry handler to process them. This method is especially useful when having no Working Copy.

      On every entry that this method stops it gets some useful entry information which is packed into an SVNDirEntryobject and passed to the handler's handleDirEntry() method.

      Parameters:
      url - a repository location to be "listed"
      pegRevision - a revision in which the item's URL is first looked up
      revision - a target revision
      recursive - true to descend recursively (relevant for directories)
      handler - a caller's directory entry handler (to process info on an entry)
      Throws:
      SVNException
    • needsWC

      private boolean needsWC(SVNRevision revision)
    • doAnnotate

      private void doAnnotate(java.lang.String path, long startRev, java.io.File tmpFile, SVNRepository repos, long endRev, boolean ignoreMimeType, ISVNAnnotateHandler handler, java.lang.String inputEncoding, boolean includeMergedRevisions) throws SVNException
      Throws:
      SVNException
    • doList

      private void doList(SVNRepository repos, long rev, ISVNDirEntryHandler handler, boolean fetchLocks, SVNDepth depth, int entryFields) throws SVNException
      Throws:
      SVNException
    • list

      private static void list(SVNRepository repository, java.lang.String path, long rev, SVNDepth depth, int entryFields, ISVNDirEntryHandler handler) throws SVNException
      Throws:
      SVNException