org.tmatesoft.svn.core.wc.admin

Class SVNLookClient

public class SVNLookClient extends SVNBasicClient

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.1.1

Version: 1.1.1

Author: TMate Software Ltd.

Constructor Summary
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.
Method Summary
voiddoCat(File repositoryRoot, String path, SVNRevision revision, OutputStream out)
Fetches file contents for the specified revision and path.
voiddoCat(File repositoryRoot, String path, String transactionName, OutputStream out)
Fetches file contents for the specified path in the given transaction.
StringdoGetAuthor(File repositoryRoot, SVNRevision revision)
Returns author information for the given revision.
StringdoGetAuthor(File repositoryRoot, String transactionName)
Returns author information for the given transaction.
voiddoGetChanged(File repositoryRoot, SVNRevision revision, ISVNChangeEntryHandler handler, boolean includeCopyInfo)
Traverses changed paths for the given revision invoking the passed handler on each changed path.
voiddoGetChanged(File repositoryRoot, String transactionName, ISVNChangeEntryHandler handler, boolean includeCopyInfo)
Traverses changed paths for the given transaction invoking the passed handler on each changed path.
voiddoGetChangedDirectories(File repositoryRoot, SVNRevision revision, ISVNChangedDirectoriesHandler handler)
Passes paths of directories changed in the given revision to the provided handler.
voiddoGetChangedDirectories(File repositoryRoot, String transactionName, ISVNChangedDirectoriesHandler handler)
Passes paths of directories changed in the given transaction to the provided handler.
DatedoGetDate(File repositoryRoot, SVNRevision revision)
Returns datestamp information for the given revision.
DatedoGetDate(File repositoryRoot, String transactionName)
Returns datestamp information for the given transaction.
voiddoGetDiff(File repositoryRoot, SVNRevision revision, boolean diffDeleted, boolean diffAdded, boolean diffCopyFrom, OutputStream os)
Writes differences of changed files and properties for the given revision to the provided output stream.
voiddoGetDiff(File repositoryRoot, String transactionName, boolean diffDeleted, boolean diffAdded, boolean diffCopyFrom, OutputStream os)
Writes differences of changed files and properties for the given transaction to the provided output stream.
voiddoGetHistory(File repositoryRoot, String path, SVNRevision revision, boolean includeIDs, ISVNHistoryHandler handler)
Passes history information for the specified path and revision to the provided handler.
SVNLogEntrydoGetInfo(File repositoryRoot, SVNRevision revision)
Retrieves author, timestamp and log message information from the repository for the given revision.
SVNLogEntrydoGetInfo(File repositoryRoot, String transactionName)
Retrieves author, timestamp and log message information from the repository for the given transaction name.
SVNLockdoGetLock(File repositoryRoot, String path)
Retrieves lock information for the specified path.
StringdoGetLog(File repositoryRoot, SVNRevision revision)
Returns log information for the given revision.
StringdoGetLog(File repositoryRoot, String transactionName)
Returns log information for the given transaction.
MapdoGetProperties(File repositoryRoot, String path, SVNRevision revision)
Returns versioned properties for the specified path in the given revision.
MapdoGetProperties(File repositoryRoot, String path, String transactionName)
Returns versioned properties for the specified path in the given transaction.
StringdoGetProperty(File repositoryRoot, String propName, String path, SVNRevision revision)
Returns the value of a versioned property for the specified path in the given revision.
StringdoGetProperty(File repositoryRoot, String propName, String path, String transactionName)
Returns the value of a versioned property for the specified path in the given transaction.
MapdoGetRevisionProperties(File repositoryRoot, SVNRevision revision)
Returns revision properties in the given revision.
MapdoGetRevisionProperties(File repositoryRoot, String transactionName)
Returns revision properties for the given transaction.
StringdoGetRevisionProperty(File repositoryRoot, String propName, SVNRevision revision)
Returns the value of a revision property in the given revision.
StringdoGetRevisionProperty(File repositoryRoot, String propName, String transactionName)
Returns the value of a revision property for the given transaction.
voiddoGetTree(File repositoryRoot, String path, SVNRevision revision, boolean includeIDs, ISVNTreeHandler handler)
Traverses repository tree starting at the specified path in the given revision and invoking the provided handler on each path.
voiddoGetTree(File repositoryRoot, String path, String transactionName, boolean includeIDs, ISVNTreeHandler handler)
Traverses repository tree starting at the specified path in the given transaction and invoking the provided handler on each path.
StringdoGetUUID(File repositoryRoot)
Returns the uuid of the repository.
longdoGetYoungestRevision(File repositoryRoot)
Returns the latest revision of the repository.
ISVNGNUDiffGeneratorgetDiffGenerator()
Returns a diff generator to be used in doGetDiff() methods of this class.
voidsetDiffGenerator(ISVNGNUDiffGenerator diffGenerator)
Sets a diff generator to be used in doGetDiff() methods of this class.

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

Method Detail

doCat

public void doCat(File repositoryRoot, String path, SVNRevision revision, OutputStream out)
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

doCat

public void doCat(File repositoryRoot, String path, String transactionName, OutputStream out)
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

doGetAuthor

public String doGetAuthor(File repositoryRoot, SVNRevision revision)
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 String doGetAuthor(File repositoryRoot, String transactionName)
Returns author information for the given transaction.

Parameters: repositoryRoot a repository root directory path transactionName a transaction name

Returns: a transaction owner

Throws: SVNException

doGetChanged

public void doGetChanged(File repositoryRoot, SVNRevision revision, ISVNChangeEntryHandler handler, boolean includeCopyInfo)
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(File repositoryRoot, String transactionName, ISVNChangeEntryHandler handler, boolean includeCopyInfo)
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

doGetChangedDirectories

public void doGetChangedDirectories(File repositoryRoot, SVNRevision revision, ISVNChangedDirectoriesHandler handler)
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(File repositoryRoot, String transactionName, ISVNChangedDirectoriesHandler handler)
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

doGetDate

public Date doGetDate(File repositoryRoot, SVNRevision revision)
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 Date doGetDate(File repositoryRoot, String transactionName)
Returns datestamp information for the given transaction.

Parameters: repositoryRoot a repository root directory path transactionName a transaction name

Returns: a datestamp

Throws: SVNException

doGetDiff

public void doGetDiff(File repositoryRoot, SVNRevision revision, boolean diffDeleted, boolean diffAdded, boolean diffCopyFrom, OutputStream os)
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(File repositoryRoot, String transactionName, boolean diffDeleted, boolean diffAdded, boolean diffCopyFrom, OutputStream os)
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

doGetHistory

public void doGetHistory(File repositoryRoot, String path, SVNRevision revision, boolean includeIDs, ISVNHistoryHandler handler)
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: 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 handler a history handler

Throws: SVNException

doGetInfo

public SVNLogEntry doGetInfo(File repositoryRoot, SVNRevision revision)
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:

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(File repositoryRoot, String transactionName)
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:

Parameters: repositoryRoot a repository root directory path transactionName a transaction name

Returns: transaction info

Throws: SVNException

doGetLock

public SVNLock doGetLock(File repositoryRoot, String path)
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

doGetLog

public String doGetLog(File repositoryRoot, SVNRevision revision)
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 String doGetLog(File repositoryRoot, String transactionName)
Returns log information for the given transaction.

Parameters: repositoryRoot a repository root directory path transactionName a transaction name

Returns: a log message

Throws: SVNException

doGetProperties

public Map doGetProperties(File repositoryRoot, String path, SVNRevision revision)
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

doGetProperties

public Map doGetProperties(File repositoryRoot, String path, String transactionName)
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

doGetProperty

public String doGetProperty(File repositoryRoot, String propName, String path, SVNRevision revision)
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

doGetProperty

public String doGetProperty(File repositoryRoot, String propName, String path, String transactionName)
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

doGetRevisionProperties

public Map doGetRevisionProperties(File repositoryRoot, SVNRevision revision)
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

doGetRevisionProperties

public Map doGetRevisionProperties(File repositoryRoot, String transactionName)
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

doGetRevisionProperty

public String doGetRevisionProperty(File repositoryRoot, String propName, SVNRevision revision)
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

doGetRevisionProperty

public String doGetRevisionProperty(File repositoryRoot, String propName, String transactionName)
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

doGetTree

public void doGetTree(File repositoryRoot, String path, SVNRevision revision, boolean includeIDs, ISVNTreeHandler handler)
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: 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 handler a tree handler

Throws: SVNException

doGetTree

public void doGetTree(File repositoryRoot, String path, String transactionName, boolean includeIDs, ISVNTreeHandler handler)
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: 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 handler a tree handler

Throws: SVNException

doGetUUID

public String doGetUUID(File repositoryRoot)
Returns the uuid of the repository.

Parameters: repositoryRoot a repository root directory path

Returns: an uuid

Throws: SVNException no repository is found at repositoryRoot

doGetYoungestRevision

public long doGetYoungestRevision(File repositoryRoot)
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

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

setDiffGenerator

public void setDiffGenerator(ISVNGNUDiffGenerator diffGenerator)
Sets a diff generator to be used in doGetDiff() methods of this class.

Parameters: diffGenerator

See Also: getDiffGenerator

Copyright © 2004-2007 TMate Software Ltd. All Rights Reserved.