Package org.tmatesoft.svn.core.wc.admin

## Class SVNLookClient

- java.lang.Object
- - org.tmatesoft.svn.core.wc.admin.SVNAdminBasicClient
  - - org.tmatesoft.svn.core.wc.admin.SVNLookClient

- All Implemented Interfaces:
    `ISVNCanceller`, `ISVNEventHandler`

      public class SVNLookClient
      extends SVNAdminBasicClient

  The SVNLookClient class provides API for examining different aspects of a Subversion repository. Its functionality is similar to the one of the Subversion command-line utility called svnlook. The following table matches methods of SVNLookClient to the corresponding commands of the svnlook utility (to make sense what its different methods are for):

  SVNLookClient | Subversion
  doCat() | 'svnlook cat'
  doGetAuthor() | 'svnlook author'
  doGetChanged() | 'svnlook changed'
  doGetChangedDirectories() | 'svnlook dirs-changed'
  doGetDate() | 'svnlook date'
  doGetDiff() | 'svnlook diff'
  doGetHistory() | 'svnlook history'
  doGetInfo() | 'svnlook info'
  doGetLock() | 'svnlook lock'
  doGetLog() | 'svnlook log'
  doGetProperties() | 'svnlook proplist'
  doGetProperty() | 'svnlook propget'
  doGetRevisionProperties() | 'svnlook proplist --revprop'
  doGetRevisionProperty() | 'svnlook propget --revprop'
  doGetTree() | 'svnlook tree'
  doGetUUID() | 'svnlook uuid'
  doGetYoungestRevision() | 'svnlook youngest'

  Since:
    1.2
  Version:
    1.3
  Author:
    TMate Software Ltd.

- - ### Field Summary

    - ### Fields inherited from interface org.tmatesoft.svn.core.ISVNCanceller

      `NULL`

    - ### Fields inherited from interface org.tmatesoft.svn.core.wc.ISVNEventHandler

      `UNKNOWN`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SVNLookClient​(ISVNAuthenticationManager authManager, ISVNOptions options)` | Creates a new instance of SVNLookClient given an authentication manager and global options keeper.
    `SVNLookClient​(ISVNRepositoryPool repositoryPool, ISVNOptions options)` | Creates a new instance of SVNLookClient given an `SVNRepository`} drivers provider and global options keeper.
    `SVNLookClient​(SvnOperationFactory of)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `doCat​(java.io.File repositoryRoot, java.lang.String path, java.lang.String transactionName, java.io.OutputStream out)` | Fetches file contents for the specified path in the given transaction.
    `void` | `doCat​(java.io.File repositoryRoot, java.lang.String path, SVNRevision revision, java.io.OutputStream out)` | Fetches file contents for the specified revision and path.
    `java.lang.String` | `doGetAuthor​(java.io.File repositoryRoot, java.lang.String transactionName)` | Returns author information for the given transaction.
    `java.lang.String` | `doGetAuthor​(java.io.File repositoryRoot, SVNRevision revision)` | Returns author information for the given revision.
    `void` | `doGetChanged​(java.io.File repositoryRoot, java.lang.String transactionName, ISVNChangeEntryHandler handler, boolean includeCopyInfo)` | Traverses changed paths for the given transaction invoking the passed handler on each changed path.
    `void` | `doGetChanged​(java.io.File repositoryRoot, SVNRevision revision, ISVNChangeEntryHandler handler, boolean includeCopyInfo)` | Traverses changed paths for the given revision invoking the passed handler on each changed path.
    `void` | `doGetChangedDirectories​(java.io.File repositoryRoot, java.lang.String transactionName, ISVNChangedDirectoriesHandler handler)` | Passes paths of directories changed in the given transaction to the provided handler.
    `void` | `doGetChangedDirectories​(java.io.File repositoryRoot, SVNRevision revision, ISVNChangedDirectoriesHandler handler)` | Passes paths of directories changed in the given revision to the provided handler.
    `java.util.Date` | `doGetDate​(java.io.File repositoryRoot, java.lang.String transactionName)` | Returns datestamp information for the given transaction.
    `java.util.Date` | `doGetDate​(java.io.File repositoryRoot, SVNRevision revision)` | Returns datestamp information for the given revision.
    `void` | `doGetDiff​(java.io.File repositoryRoot, java.lang.String transactionName, boolean diffDeleted, boolean diffAdded, boolean diffCopyFrom, java.io.OutputStream os)` | Writes differences of changed files and properties for the given transaction to the provided output stream.
    `void` | `doGetDiff​(java.io.File repositoryRoot, SVNRevision revision, boolean diffDeleted, boolean diffAdded, boolean diffCopyFrom, java.io.OutputStream os)` | Writes differences of changed files and properties for the given revision to the provided output stream.
    `long` | `doGetFileSize​(java.io.File repositoryRoot, java.lang.String path, java.lang.String transactionName)` | Returns the size in bytes for the specified path in given transaction
    `long` | `doGetFileSize​(java.io.File repositoryRoot, java.lang.String path, SVNRevision revision)` | Returns the size in bytes for the specified path in given revision
    `void` | `doGetHistory​(java.io.File repositoryRoot, java.lang.String path, SVNRevision revision, boolean includeIDs, long limit, ISVNHistoryHandler handler)` | Passes history information for the specified path and revision to the provided handler.
    `SVNLogEntry` | `doGetInfo​(java.io.File repositoryRoot, java.lang.String transactionName)` | Retrieves author, timestamp and log message information from the repository for the given transaction name.
    `SVNLogEntry` | `doGetInfo​(java.io.File repositoryRoot, SVNRevision revision)` | Retrieves author, timestamp and log message information from the repository for the given revision.
    `SVNLock` | `doGetLock​(java.io.File repositoryRoot, java.lang.String path)` | Retrieves lock information for the specified path.
    `java.lang.String` | `doGetLog​(java.io.File repositoryRoot, java.lang.String transactionName)` | Returns log information for the given transaction.
    `java.lang.String` | `doGetLog​(java.io.File repositoryRoot, SVNRevision revision)` | Returns log information for the given revision.
    `SVNProperties` | `doGetProperties​(java.io.File repositoryRoot, java.lang.String path, java.lang.String transactionName)` | Returns versioned properties for the specified path in the given transaction.
    `SVNProperties` | `doGetProperties​(java.io.File repositoryRoot, java.lang.String path, SVNRevision revision)` | Returns versioned properties for the specified path in the given revision.
    `SVNPropertyValue` | `doGetProperty​(java.io.File repositoryRoot, java.lang.String propName, java.lang.String path, java.lang.String transactionName)` | Returns the value of a versioned property for the specified path in the given transaction.
    `SVNPropertyValue` | `doGetProperty​(java.io.File repositoryRoot, java.lang.String propName, java.lang.String path, SVNRevision revision)` | Returns the value of a versioned property for the specified path in the given revision.
    `SVNProperties` | `doGetRevisionProperties​(java.io.File repositoryRoot, java.lang.String transactionName)` | Returns revision properties for the given transaction.
    `SVNProperties` | `doGetRevisionProperties​(java.io.File repositoryRoot, SVNRevision revision)` | Returns revision properties in the given revision.
    `SVNPropertyValue` | `doGetRevisionProperty​(java.io.File repositoryRoot, java.lang.String propName, java.lang.String transactionName)` | Returns the value of a revision property for the given transaction.
    `SVNPropertyValue` | `doGetRevisionProperty​(java.io.File repositoryRoot, java.lang.String propName, SVNRevision revision)` | Returns the value of a revision property in the given revision.
    `void` | `doGetTree​(java.io.File repositoryRoot, java.lang.String path, java.lang.String transactionName, boolean includeIDs, boolean recursive, ISVNTreeHandler handler)` | Traverses repository tree starting at the specified path in the given transaction and invoking the provided handler on each path.
    `void` | `doGetTree​(java.io.File repositoryRoot, java.lang.String path, SVNRevision revision, boolean includeIDs, boolean recursive, ISVNTreeHandler handler)` | Traverses repository tree starting at the specified path in the given revision and invoking the provided handler on each path.
    `java.lang.String` | `doGetUUID​(java.io.File repositoryRoot)` | Returns the uuid of the repository.
    `long` | `doGetYoungestRevision​(java.io.File repositoryRoot)` | Returns the latest revision of the repository.
    `ISVNGNUDiffGenerator` | `getDiffGenerator()` | Returns a diff generator to be used in `doGetDiff()` methods of this class.
    `void` | `setDiffGenerator​(ISVNGNUDiffGenerator diffGenerator)` | Sets a diff generator to be used in `doGetDiff()` methods of this class.

    - ### Methods inherited from class org.tmatesoft.svn.core.wc.admin.SVNAdminBasicClient

      `checkCancelled, createRepository, dispatchEvent, getDebugLog, getEventDispatcher, getOptions, handleEvent, setDebugLog, setEventHandler, setOptions`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SVNLookClient

          public SVNLookClient​(ISVNAuthenticationManager authManager,
                               ISVNOptions options)

      Creates a new instance of SVNLookClient given an authentication manager and global options keeper.
      Parameters:
        `authManager` - a manager which provides authentication credentials
        `options` - a global config options provider

    - #### SVNLookClient

          public SVNLookClient​(ISVNRepositoryPool repositoryPool,
                               ISVNOptions options)

      Creates a new instance of SVNLookClient given an `SVNRepository`} drivers provider and global options keeper.
      Parameters:
        `repositoryPool` - a repository connectors keeper
        `options` - a global config options provider

    - #### SVNLookClient

          public SVNLookClient​(SvnOperationFactory of)

  - ### Method Detail

    - #### doGetInfo

          public SVNLogEntry doGetInfo​(java.io.File repositoryRoot,
                                       SVNRevision revision)
                                throws SVNException

      Retrieves author, timestamp and log message information from the repository for the given revision. This information is provided in a single `SVNLogEntry` object, that is only the following methods of SVNLogEntry return valid information:
      - `getAuthor()`
      - `getDate()`
      - `getMessage()`
      - `getRevision()`
      Parameters:
        `repositoryRoot` - a repository root directory path
        `revision` - a revision number
      Returns:
        revision info
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetInfo

          public SVNLogEntry doGetInfo​(java.io.File repositoryRoot,
                                       java.lang.String transactionName)
                                throws SVNException

      Retrieves author, timestamp and log message information from the repository for the given transaction name. This information is provided in a single `SVNLogEntry` object, that is only the following methods of SVNLogEntry return valid information:
      - `getAuthor()`
      - `getDate()`
      - `getMessage()`
      Parameters:
        `repositoryRoot` - a repository root directory path
        `transactionName` - a transaction name
      Returns:
        transaction info
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if the specified transaction is not found

    - #### doGetYoungestRevision

          public long doGetYoungestRevision​(java.io.File repositoryRoot)
                                     throws SVNException

      Returns the latest revision of the repository.
      Parameters:
        `repositoryRoot` - a repository root directory path
      Returns:
        a revision number
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetUUID

          public java.lang.String doGetUUID​(java.io.File repositoryRoot)
                                     throws SVNException

      Returns the uuid of the repository.
      Parameters:
        `repositoryRoot` - a repository root directory path
      Returns:
        an uuid
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetAuthor

          public java.lang.String doGetAuthor​(java.io.File repositoryRoot,
                                              SVNRevision revision)
                                       throws SVNException

      Returns author information for the given revision.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `revision` - a revision number
      Returns:
        a revision author
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetAuthor

          public java.lang.String doGetAuthor​(java.io.File repositoryRoot,
                                              java.lang.String transactionName)
                                       throws SVNException

      Returns author information for the given transaction.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `transactionName` - a transaction name
      Returns:
        a transaction owner
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if the specified transaction is not found

    - #### doCat

          public void doCat​(java.io.File repositoryRoot,
                            java.lang.String path,
                            SVNRevision revision,
                            java.io.OutputStream out)
                     throws SVNException

      Fetches file contents for the specified revision and path. `path` must be absolute, that is it must start with `'/'`. The provided output stream is not closed within this method.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `path` - an absolute file path
        `revision` - a revision number
        `out` - an output stream to write contents to
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if `path` is not found or is not a file

    - #### doCat

          public void doCat​(java.io.File repositoryRoot,
                            java.lang.String path,
                            java.lang.String transactionName,
                            java.io.OutputStream out)
                     throws SVNException

      Fetches file contents for the specified path in the given transaction. `path` must be absolute, that is it must start with `'/'`. The provided output stream is not closed within this method.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `path` - an absolute file path
        `transactionName` - a transaction name
        `out` - an output stream to write contents to
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if `path` is not found or is not a file
        - if the specified transaction is not found

    - #### doGetDate

          public java.util.Date doGetDate​(java.io.File repositoryRoot,
                                          SVNRevision revision)
                                   throws SVNException

      Returns datestamp information for the given revision.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `revision` - a revision number
      Returns:
        a datestamp
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetDate

          public java.util.Date doGetDate​(java.io.File repositoryRoot,
                                          java.lang.String transactionName)
                                   throws SVNException

      Returns datestamp information for the given transaction.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `transactionName` - a transaction name
      Returns:
        a datestamp
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if the specified transaction is not found

    - #### doGetLog

          public java.lang.String doGetLog​(java.io.File repositoryRoot,
                                           SVNRevision revision)
                                    throws SVNException

      Returns log information for the given revision.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `revision` - a revision number
      Returns:
        a log message
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetLog

          public java.lang.String doGetLog​(java.io.File repositoryRoot,
                                           java.lang.String transactionName)
                                    throws SVNException

      Returns log information for the given transaction.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `transactionName` - a transaction name
      Returns:
        a log message
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if the specified transaction is not found

    - #### doGetChanged

          public void doGetChanged​(java.io.File repositoryRoot,
                                   SVNRevision revision,
                                   ISVNChangeEntryHandler handler,
                                   boolean includeCopyInfo)
                            throws SVNException

      Traverses changed paths for the given revision invoking the passed handler on each changed path.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `revision` - a revision number
        `handler` - a changed path handler
        `includeCopyInfo` - if true copy-from information is also provided for copied paths
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetChanged

          public void doGetChanged​(java.io.File repositoryRoot,
                                   java.lang.String transactionName,
                                   ISVNChangeEntryHandler handler,
                                   boolean includeCopyInfo)
                            throws SVNException

      Traverses changed paths for the given transaction invoking the passed handler on each changed path.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `transactionName` - a transaction name
        `handler` - a changed path handler
        `includeCopyInfo` - if true copy-from information is also provided for copied paths
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if the specified transaction is not found

    - #### doGetChangedDirectories

          public void doGetChangedDirectories​(java.io.File repositoryRoot,
                                              SVNRevision revision,
                                              ISVNChangedDirectoriesHandler handler)
                                       throws SVNException

      Passes paths of directories changed in the given revision to the provided handler. Paths are absolute (start with `'/'`).
      Parameters:
        `repositoryRoot` - a repository root directory path
        `revision` - a revision number
        `handler` - a path handler
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetChangedDirectories

          public void doGetChangedDirectories​(java.io.File repositoryRoot,
                                              java.lang.String transactionName,
                                              ISVNChangedDirectoriesHandler handler)
                                       throws SVNException

      Passes paths of directories changed in the given transaction to the provided handler. Paths are absolute (start with `'/'`).
      Parameters:
        `repositoryRoot` - a repository root directory path
        `transactionName` - a transaction name
        `handler` - a path handler
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if the specified transaction is not found

    - #### doGetHistory

          public void doGetHistory​(java.io.File repositoryRoot,
                                   java.lang.String path,
                                   SVNRevision revision,
                                   boolean includeIDs,
                                   long limit,
                                   ISVNHistoryHandler handler)
                            throws SVNException

      Passes history information for the specified path and revision to the provided handler. This information is provided as `SVNAdminPath` objects and include the following pieces:
      - path (use `SVNAdminPath.getPath()` to retrieve it)
      - revision (use `SVNAdminPath.getRevision()` to retrieve it)
      - node id (optional, use `SVNAdminPath.getNodeID()` to retrieve it)
      For history retrieval only these listed `get` methods of SVNAdminPath are relevant.

      `path` must be absolute, that is it must start with `'/'`. If `path` is null it defaults to `"/"`.

      Parameters:
        `repositoryRoot` - a repository root directory path
        `path` - an absolute path
        `revision` - a revision number
        `includeIDs` - if true a node revision id is also included for each path
        `limit` - maximum number of history entries; if `<=0`, then no limitation is applied and all history entries are reported
        `handler` - a history handler
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if `path` is not found

    - #### doGetLock

          public SVNLock doGetLock​(java.io.File repositoryRoot,
                                   java.lang.String path)
                            throws SVNException

      Retrieves lock information for the specified path. `path` must be absolute, that is it must start with `'/'`.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `path` - an absolute path
      Returns:
        an object containing details of a lock or null if the path is not locked
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if `path` is not found

    - #### doGetTree

          public void doGetTree​(java.io.File repositoryRoot,
                                java.lang.String path,
                                SVNRevision revision,
                                boolean includeIDs,
                                boolean recursive,
                                ISVNTreeHandler handler)
                         throws SVNException

      Traverses repository tree starting at the specified path in the given revision and invoking the provided handler on each path. Path information is provided as `SVNAdminPath` objects and include the following pieces:
      - path (use `SVNAdminPath.getPath()` to retrieve it)
      - tree depth starting from `0` at `path` (use `SVNAdminPath.getTreeDepth()` to retrieve it)
      - node id (optional, use `SVNAdminPath.getNodeID()` to retrieve it)
      - file/dir information (use `SVNAdminPath.isDir()` to retrieve it)
      For tree retrieval only these listed `get` methods of SVNAdminPath are relevant.

      `path` must be absolute, that is it must start with `'/'`. If `path` is null it defaults to `"/"`.

      Parameters:
        `repositoryRoot` - a repository root directory path
        `path` - an absolute path
        `revision` - a revision number
        `includeIDs` - if true a node revision id is also included for each path
        `recursive` - whether to descend recursively or operate on a single directory only
        `handler` - a tree handler
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if `path` is not found

    - #### doGetTree

          public void doGetTree​(java.io.File repositoryRoot,
                                java.lang.String path,
                                java.lang.String transactionName,
                                boolean includeIDs,
                                boolean recursive,
                                ISVNTreeHandler handler)
                         throws SVNException

      Traverses repository tree starting at the specified path in the given transaction and invoking the provided handler on each path. Path information is provided as `SVNAdminPath` objects and include the following pieces:
      - path (use `SVNAdminPath.getPath()` to retrieve it)
      - tree depth starting from `0` at `path` (use `SVNAdminPath.getTreeDepth()` to retrieve it)
      - node id (optional, use `SVNAdminPath.getNodeID()` to retrieve it)
      - file/dir information (use `SVNAdminPath.isDir()` to retrieve it)
      For tree retrieval only these listed `get` methods of SVNAdminPath are relevant.

      `path` must be absolute, that is it must start with `'/'`. If `path` is null it defaults to `"/"`.

      Parameters:
        `repositoryRoot` - a repository root directory path
        `path` - an absolute path
        `transactionName` - a transaction name
        `includeIDs` - if true a node revision id is also included for each path
        `recursive` - whether to descend recursively or operate on a single directory only
        `handler` - a tree handler
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if `path` is not found
        - if the specified transaction is not found

    - #### doGetDiff

          public void doGetDiff​(java.io.File repositoryRoot,
                                SVNRevision revision,
                                boolean diffDeleted,
                                boolean diffAdded,
                                boolean diffCopyFrom,
                                java.io.OutputStream os)
                         throws SVNException

      Writes differences of changed files and properties for the given revision to the provided output stream. If no special diff generator `was provided` to this client a default GNU-style diff generator is used (which writes differences just like the `'svnlook diff'` command).

      The provided output stream is not closed within this method.

      Parameters:
        `repositoryRoot` - a repository root directory path
        `revision` - a revision number
        `diffDeleted` - if true differences for deleted files are included, otherwise not
        `diffAdded` - if true differences for added files are included, otherwise not
        `diffCopyFrom` - if true writes differences against the copy source (if any), otherwise not
        `os` - an output stream to write differences to
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetDiff

          public void doGetDiff​(java.io.File repositoryRoot,
                                java.lang.String transactionName,
                                boolean diffDeleted,
                                boolean diffAdded,
                                boolean diffCopyFrom,
                                java.io.OutputStream os)
                         throws SVNException

      Writes differences of changed files and properties for the given transaction to the provided output stream. If no special diff generator `was provided` to this client a default GNU-style diff generator is used (which writes differences just like the `'svnlook diff'` command).
      Parameters:
        `repositoryRoot` - a repository root directory path
        `transactionName` - a transaction name
        `diffDeleted` - if true differences for deleted files are included, otherwise not
        `diffAdded` - if true differences for added files are included, otherwise not
        `diffCopyFrom` - if true writes differences against the copy source (if any), otherwise not
        `os` - an output stream to write differences to
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if the specified transaction is not found

    - #### doGetProperty

          public SVNPropertyValue doGetProperty​(java.io.File repositoryRoot,
                                                java.lang.String propName,
                                                java.lang.String path,
                                                SVNRevision revision)
                                         throws SVNException

      Returns the value of a versioned property for the specified path in the given revision.

      `path` must be absolute, that is it must start with `'/'`.

      Parameters:
        `repositoryRoot` - a repository root directory path
        `propName` - a property name
        `path` - an absolute path
        `revision` - a revision number
      Returns:
        the value of a property
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if `path` is not found

    - #### doGetProperties

          public SVNProperties doGetProperties​(java.io.File repositoryRoot,
                                               java.lang.String path,
                                               SVNRevision revision)
                                        throws SVNException

      Returns versioned properties for the specified path in the given revision.

      `path` must be absolute, that is it must start with `'/'`.

      Parameters:
        `repositoryRoot` - a repository root directory path
        `path` - an absolute path
        `revision` - a revision number
      Returns:
        name (String) to value (String) mappings
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if `path` is not found

    - #### doGetProperty

          public SVNPropertyValue doGetProperty​(java.io.File repositoryRoot,
                                                java.lang.String propName,
                                                java.lang.String path,
                                                java.lang.String transactionName)
                                         throws SVNException

      Returns the value of a versioned property for the specified path in the given transaction.

      `path` must be absolute, that is it must start with `'/'`.

      Parameters:
        `repositoryRoot` - a repository root directory path
        `propName` - a property name
        `path` - an absolute path
        `transactionName` - a transaction name
      Returns:
        the value of a property
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if `path` is not found
        - if the specified transaction is not found

    - #### doGetProperties

          public SVNProperties doGetProperties​(java.io.File repositoryRoot,
                                               java.lang.String path,
                                               java.lang.String transactionName)
                                        throws SVNException

      Returns versioned properties for the specified path in the given transaction.

      `path` must be absolute, that is it must start with `'/'`.

      Parameters:
        `repositoryRoot` - a repository root directory path
        `path` - an absolute path
        `transactionName` - a transaction name
      Returns:
        name (String) to value (String) mappings
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if `path` is not found
        - if the specified transaction is not found

    - #### doGetRevisionProperty

          public SVNPropertyValue doGetRevisionProperty​(java.io.File repositoryRoot,
                                                        java.lang.String propName,
                                                        SVNRevision revision)
                                                 throws SVNException

      Returns the value of a revision property in the given revision.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `propName` - a property name
        `revision` - a revision number
      Returns:
        the value of a revision property
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetRevisionProperties

          public SVNProperties doGetRevisionProperties​(java.io.File repositoryRoot,
                                                       SVNRevision revision)
                                                throws SVNException

      Returns revision properties in the given revision.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `revision` - a revision number
      Returns:
        name (String) to value (String) mappings
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### doGetRevisionProperty

          public SVNPropertyValue doGetRevisionProperty​(java.io.File repositoryRoot,
                                                        java.lang.String propName,
                                                        java.lang.String transactionName)
                                                 throws SVNException

      Returns the value of a revision property for the given transaction.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `propName` - a property name
        `transactionName` - a transaction name
      Returns:
        the value of a revision property
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if the specified transaction is not found

    - #### doGetRevisionProperties

          public SVNProperties doGetRevisionProperties​(java.io.File repositoryRoot,
                                                       java.lang.String transactionName)
                                                throws SVNException

      Returns revision properties for the given transaction.
      Parameters:
        `repositoryRoot` - a repository root directory path
        `transactionName` - a transaction name
      Returns:
        name (String) to value (String) mappings
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if the specified transaction is not found

    - #### doGetFileSize

          public long doGetFileSize​(java.io.File repositoryRoot,
                                    java.lang.String path,
                                    java.lang.String transactionName)
                             throws SVNException

      Returns the size in bytes for the specified path in given transaction
      Parameters:
        `repositoryRoot` - a repository root directory path
        `path` - a path to the file inside the repository
        `transactionName` - a transaction name
      Returns:
        file size in bytes
      Throws:
        `SVNException` -
        - no repository is found at `repositoryRoot`
        - if the specified transaction is not found

    - #### doGetFileSize

          public long doGetFileSize​(java.io.File repositoryRoot,
                                    java.lang.String path,
                                    SVNRevision revision)
                             throws SVNException

      Returns the size in bytes for the specified path in given revision
      Parameters:
        `repositoryRoot` - a repository root directory path
        `path` - a path to the file inside the repository
        `revision` - a revision
      Returns:
        file size in bytes
      Throws:
        `SVNException` - no repository is found at `repositoryRoot`

    - #### setDiffGenerator

          public void setDiffGenerator​(ISVNGNUDiffGenerator diffGenerator)

      Sets a diff generator to be used in `doGetDiff()` methods of this class.
      Parameters:
        `diffGenerator` -
      See Also:
        `getDiffGenerator()`

    - #### getDiffGenerator

          public ISVNGNUDiffGenerator getDiffGenerator()

      Returns a diff generator to be used in `doGetDiff()` methods of this class. If no generator was provided by a caller, SVNLookClient uses a default one that prints differences in a GNU-style.
      Returns:
        a diff generator
      See Also:
        `setDiffGenerator(ISVNGNUDiffGenerator)`