org.apache.subversion.javahl
Interface ISVNClient

All Known Implementing Classes:
SVNClient

public interface ISVNClient

This interface is the commom interface for all subversion operations. It is implemented by SVNClient

Since:
1.7

Method Summary
 void add(String path, Depth depth, boolean force, boolean noIgnores, boolean addParents)
          Adds a file to the repository.
 void add(String path, Depth depth, boolean force, boolean noIgnores, boolean noAutoProps, boolean addParents)
          Adds a file to the repository.
 void addToChangelist(Set<String> paths, String changelist, Depth depth, Collection<String> changelists)
          Add paths to a changelist
 void blame(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, BlameCallback callback)
          Retrieve the content together with the author, the revision and the date of the last change of each line
 void blame(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, BlameCallback callback, DiffOptions options)
          Retrieve the content together with the author, the revision and the date of the last change of each line
 void cancelOperation()
          cancel the active operation
 long checkout(String moduleName, String destPath, Revision revision, Revision pegRevision, Depth depth, boolean ignoreExternals, boolean allowUnverObstructions)
          Executes a revision checkout.
 void cleanup(String path)
          Recursively cleans up a local directory, finishing any incomplete operations, removing lockfiles, etc.
 void cleanup(String path, boolean breakLocks, boolean fixRecordedTimestamps, boolean clearDavCache, boolean removeUnusedPristines, boolean includeExternals)
          Recursively cleans up a local directory, finishing any incomplete operations, removing lockfiles, etc.
 void commit(Set<String> path, Depth depth, boolean noUnlock, boolean keepChangelist, Collection<String> changelists, Map<String,String> revpropTable, CommitMessageCallback handler, CommitCallback callback)
          Commits changes to the repository.
 void copy(List<CopySource> sources, String destPath, boolean copyAsChild, boolean makeParents, boolean ignoreExternals, boolean metadataOnly, boolean pinExternals, Map<String,List<ExternalItem>> externalsToPin, Map<String,String> revpropTable, CommitMessageCallback handler, CommitCallback callback)
          Copy versioned paths with the history preserved.
 void copy(List<CopySource> sources, String destPath, boolean copyAsChild, boolean makeParents, boolean ignoreExternals, Map<String,String> revpropTable, CommitMessageCallback handler, CommitCallback callback)
          Copy versioned paths with the history preserved.
 void diff(String target, Revision pegRevision, Revision startRevision, Revision endRevision, String relativeToDir, OutputStream outStream, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly)
          Display the differences between two paths.
 void diff(String target, Revision pegRevision, Revision startRevision, Revision endRevision, String relativeToDir, OutputStream outStream, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly, DiffOptions options)
          Display the differences between two paths.
 void diff(String target, Revision pegRevision, Revision startRevision, Revision endRevision, String relativeToDir, String outFileName, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds)
          Display the differences between two paths.
 void diff(String target, Revision pegRevision, Revision startRevision, Revision endRevision, String relativeToDir, String outFileName, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly, DiffOptions options)
          Display the differences between two paths.
 void diff(String target1, Revision revision1, String target2, Revision revision2, String relativeToDir, OutputStream outStream, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly)
          Display the differences between two paths
 void diff(String target1, Revision revision1, String target2, Revision revision2, String relativeToDir, OutputStream outStream, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly, DiffOptions options)
          Display the differences between two paths
 void diff(String target1, Revision revision1, String target2, Revision revision2, String relativeToDir, String outFileName, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds)
          Display the differences between two paths
 void diff(String target1, Revision revision1, String target2, Revision revision2, String relativeToDir, String outFileName, Depth depth, Collection<String> changelists, boolean ignoreAncestry, boolean noDiffDeleted, boolean force, boolean copiesAsAdds, boolean ignoreProps, boolean propsOnly, DiffOptions options)
          Display the differences between two paths
 void diffSummarize(String target, Revision pegRevision, Revision startRevision, Revision endRevision, Depth depth, Collection<String> changelists, boolean ignoreAncestry, DiffSummaryCallback receiver)
          Produce a diff summary which lists the items changed between path and revision pairs.
 void diffSummarize(String target1, Revision revision1, String target2, Revision revision2, Depth depth, Collection<String> changelists, boolean ignoreAncestry, DiffSummaryCallback receiver)
          Produce a diff summary which lists the items changed between path and revision pairs.
 void dispose()
          release the native peer (should not depend on finalize)
 long doExport(String srcPath, String destPath, Revision revision, Revision pegRevision, boolean force, boolean ignoreExternals, boolean ignoreKeywords, Depth depth, String nativeEOL)
          Exports the contents of either a subversion repository into a 'clean' directory (meaning a directory with no administrative directories).
 long doExport(String srcPath, String destPath, Revision revision, Revision pegRevision, boolean force, boolean ignoreExternals, Depth depth, String nativeEOL)
          Exports the contents of either a subversion repository into a 'clean' directory (meaning a directory with no administrative directories).
 void doImport(String path, String url, Depth depth, boolean noIgnore, boolean noAutoProps, boolean ignoreUnknownNodeTypes, Map<String,String> revpropTable, ImportFilterCallback importFilterCallback, CommitMessageCallback messageHandler, CommitCallback commitCallback)
          Import a file or directory into a repository directory at head.
 void doImport(String path, String url, Depth depth, boolean noIgnore, boolean ignoreUnknownNodeTypes, Map<String,String> revpropTable, CommitMessageCallback handler, CommitCallback callback)
          Import a file or directory into a repository directory at head.
 long doSwitch(String path, String url, Revision revision, Revision pegRevision, Depth depth, boolean depthIsSticky, boolean ignoreExternals, boolean allowUnverObstructions, boolean ignoreAncestry)
          Update local copy to mirror a new url.
 byte[] fileContent(String path, Revision revision, Revision pegRevision)
          Retrieve the content of a file Always expands keywords and never returns properties.
 String getAdminDirectoryName()
           
 void getChangelists(String rootPath, Collection<String> changelists, Depth depth, ChangelistCallback callback)
          Recursively get the paths which belong to a changelist
 String getConfigDirectory()
          Get the configuration directory
 ConfigEvent getConfigEventHandler()
          Return a reference to the installed configuration event handler.
 Mergeinfo getMergeinfo(String path, Revision pegRevision)
          Get mergeinfo for path at pegRevision.
 void getMergeinfoLog(Mergeinfo.LogKind kind, String pathOrUrl, Revision pegRevision, String mergeSourceUrl, Revision srcPegRevision, boolean discoverChangedPaths, Depth depth, Set<String> revProps, LogMessageCallback callback)
          Retrieve either merged or eligible-to-be-merged revisions.
 void getMergeinfoLog(Mergeinfo.LogKind kind, String pathOrUrl, Revision pegRevision, String mergeSourceUrl, Revision srcPegRevision, Revision srcStartRevision, Revision srcEndRevision, boolean discoverChangedPaths, Depth depth, Set<String> revProps, LogMessageCallback callback)
          Retrieve either merged or eligible-to-be-merged revisions.
 RuntimeVersion getRuntimeVersion()
           
 Version getVersion()
           
 VersionExtended getVersionExtended(boolean verbose)
           
 String getVersionInfo(String path, String trailUrl, boolean lastChanged)
          Produce a compact "version number" for a working copy
 void info(String pathOrUrl, Revision revision, Revision pegRevision, Depth depth, boolean fetchExcluded, boolean fetchActualOnly, boolean includeExternals, Collection<String> changelists, InfoCallback callback)
          Invoke callback to return information pathOrUrl in revision.
 void info2(String pathOrUrl, Revision revision, Revision pegRevision, Depth depth, Collection<String> changelists, InfoCallback callback)
          Retrieve information about repository or working copy items.
 boolean isAdminDirectory(String name)
           
 void list(String url, Revision revision, Revision pegRevision, Depth depth, int direntFields, boolean fetchLocks, ListCallback callback)
          Lists the directory entries of a url on the server.
 void lock(Set<String> path, String comment, boolean force)
          Lock a working copy item
 void logMessages(String path, Revision pegRevision, List<RevisionRange> ranges, boolean stopOnCopy, boolean discoverPath, boolean includeMergedRevisions, Set<String> revProps, long limit, LogMessageCallback callback)
          Retrieve the log messages for an item.
 void merge(String path, Revision pegRevision, List<RevisionRange> revisions, String localPath, boolean force, Depth depth, boolean ignoreAncestry, boolean dryRun, boolean recordOnly)
          Merge set of revisions into a new local path.
 void merge(String path, Revision pegRevision, List<RevisionRange> revisions, String localPath, boolean force, Depth depth, boolean ignoreMergeinfo, boolean diffIgnoreAncestry, boolean dryRun, boolean recordOnly)
          Merge set of revisions into a new local path.
 void merge(String path, Revision pegRevision, List<RevisionRange> revisions, String localPath, boolean force, Depth depth, boolean ignoreMergeinfo, boolean diffIgnoreAncestry, boolean dryRun, boolean allowMixedRev, boolean recordOnly)
          Merge set of revisions into a new local path.
 void merge(String path1, Revision revision1, String path2, Revision revision2, String localPath, boolean force, Depth depth, boolean ignoreAncestry, boolean dryRun, boolean recordOnly)
          Merge changes from two paths into a new local path.
 void merge(String path1, Revision revision1, String path2, Revision revision2, String localPath, boolean force, Depth depth, boolean ignoreMergeinfo, boolean diffIgnoreAncestry, boolean dryRun, boolean recordOnly)
          Merge changes from two paths into a new local path.
 void merge(String path1, Revision revision1, String path2, Revision revision2, String localPath, boolean force, Depth depth, boolean ignoreMergeinfo, boolean diffIgnoreAncestry, boolean dryRun, boolean allowMixedRev, boolean recordOnly)
          Merge changes from two paths into a new local path.
 void mergeReintegrate(String path, Revision pegRevision, String localPath, boolean dryRun)
          Deprecated. Will be removed in a future release
 void mkdir(Set<String> path, boolean makeParents, Map<String,String> revpropTable, CommitMessageCallback handler, CommitCallback callback)
          Creates a directory directly in a repository or creates a directory on disk and schedules it for addition.
 void move(Set<String> srcPaths, String destPath, boolean force, boolean moveAsChild, boolean makeParents, boolean metadataOnly, boolean allowMixRev, Map<String,String> revpropTable, CommitMessageCallback handler, CommitCallback callback)
          Move or rename versioned paths.
 void move(Set<String> srcPaths, String destPath, boolean force, boolean moveAsChild, boolean makeParents, Map<String,String> revpropTable, CommitMessageCallback handler, CommitCallback callback)
          Deprecated. Provided for backward compatibility with 1.7. Passes metadataOnly false and allowMixRev true.
 void notification2(ClientNotifyCallback notify)
          Sets the notification callback used to send processing information back to the calling program.
 ISVNRemote openRemoteSession(String pathOrUrl)
          Open a persistent session to a repository.
 ISVNRemote openRemoteSession(String pathOrUrl, int retryAttempts)
          Open a persistent session to a repository.
 void password(String password)
          Sets the password used for authentication.
 void patch(String patchPath, String targetPath, boolean dryRun, int stripCount, boolean reverse, boolean ignoreWhitespace, boolean removeTempfiles, PatchCallback callback)
          Apply a unidiff patch.
 void properties(String path, Revision revision, Revision pegRevision, Depth depth, Collection<String> changelists, InheritedProplistCallback callback)
          Retrieves the properties of an item, including inherited properties.
 void properties(String path, Revision revision, Revision pegRevision, Depth depth, Collection<String> changelists, ProplistCallback callback)
          Retrieves the properties of an item
 byte[] propertyGet(String path, String name, Revision revision, Revision pegRevision)
           
 byte[] propertyGet(String path, String name, Revision revision, Revision pegRevision, Collection<String> changelists)
          Retrieve one property of one item
 void propertySetLocal(Set<String> paths, String name, byte[] value, Depth depth, Collection<String> changelists, boolean force)
          Sets one property of an item with a String value
 void propertySetRemote(String path, long baseRev, String name, byte[] value, CommitMessageCallback handler, boolean force, Map<String,String> revpropTable, CommitCallback callback)
          Sets one property of an item with a String value
 void relocate(String from, String to, String path, boolean ignoreExternals)
          Rewrite the url's in the working copy
 void remove(Set<String> path, boolean force, boolean keepLocal, Map<String,String> revpropTable, CommitMessageCallback handler, CommitCallback callback)
          Sets a file for deletion.
 void removeFromChangelists(Set<String> paths, Depth depth, Collection<String> changelists)
          Remove paths from a changelist
 void resolve(String path, Depth depth, ConflictResult.Choice conflictResult)
          Resolves the conflicted state on a WC path (or tree).
 void revert(Set<String> paths, Depth depth, Collection<String> changelists)
          Reverts set of files or directories to a pristine state.
 void revert(Set<String> paths, Depth depth, Collection<String> changelists, boolean clearChangelists, boolean metadataOnly)
          Reverts set of files or directories to a pristine state.
 void revert(String path, Depth depth, Collection<String> changelists)
          Reverts a file to a pristine state.
 Map<String,byte[]> revProperties(String path, Revision rev)
          Retrieve all revsision properties of one item
 byte[] revProperty(String path, String name, Revision rev)
          Retrieve one revsision property of one item
 void setConfigDirectory(String configDir)
          Set directory for the configuration information, taking the usual steps to ensure that Subversion's config file templates exist in the specified location..
 void setConfigEventHandler(ConfigEvent configHandler)
          Set an event handler that will be called every time the configuration is loaded by this client object.
 void setConflictResolver(ConflictResolverCallback listener)
          Set the conflict resolution callback.
 void setProgressCallback(ProgressCallback listener)
          Set the progress callback.
 void setPrompt(AuthnCallback prompt)
          Register callback interface to supply username and password on demand.
 void setPrompt(UserPasswordCallback prompt)
          Register callback interface to supply username and password on demand.
 void setRevProperty(String path, String name, Revision rev, String value, String originalValue, boolean force)
          set one revsision property of one item
 void setTunnelAgent(TunnelAgent tunnelAgent)
          Set callbacks for ra_svn tunnel handling.
 void status(String path, Depth depth, boolean onServer, boolean ignoreLocal, boolean getAll, boolean noIgnore, boolean ignoreExternals, boolean depthAsSticky, Collection<String> changelists, StatusCallback callback)
          Return the status of the working copy and maybe repository.
 void status(String path, Depth depth, boolean onServer, boolean getAll, boolean noIgnore, boolean ignoreExternals, Collection<String> changelists, StatusCallback callback)
          Deprecated.  
 Map<String,byte[]> streamFileContent(String path, Revision revision, Revision pegRevision, boolean expandKeywords, boolean returnProps, OutputStream stream)
          Write the file's content to the specified output stream.
 void streamFileContent(String path, Revision revision, Revision pegRevision, OutputStream stream)
          Write the file's content to the specified output stream.
 Set<String> suggestMergeSources(String path, Revision pegRevision)
          Return an ordered list of suggested merge source URLs.
 void unlock(Set<String> path, boolean force)
          Unlock a working copy item
 long[] update(Set<String> path, Revision revision, Depth depth, boolean depthIsSticky, boolean makeParents, boolean ignoreExternals, boolean allowUnverObstructions)
          Updates the directories or files from repository
 void upgrade(String path)
          Recursively upgrade a working copy to a new metadata storage format.
 void username(String username)
          Sets the username used for authentication.
 void vacuum(String path, boolean removeUnversionedItems, boolean removeIgnoredItems, boolean fixRecordedTimestamps, boolean removeUnusedPristines, boolean includeExternals)
          Recursively vacuum a working copy, removing unnecessary data.
 

Method Detail

dispose

void dispose()
release the native peer (should not depend on finalize)


getVersion

Version getVersion()
Returns:
Version information about the underlying native libraries.

getRuntimeVersion

RuntimeVersion getRuntimeVersion()
Returns:
Runtime version information about the loaded libsvn_client.

getVersionExtended

VersionExtended getVersionExtended(boolean verbose)
Returns:
Extended version information about the underlying native libraries and operating system.

getAdminDirectoryName

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

isAdminDirectory

boolean isAdminDirectory(String name)
Parameters:
name - The name of the directory to compare.
Returns:
Whether name is that of a working copy administrative directory.

status

void status(String path,
            Depth depth,
            boolean onServer,
            boolean ignoreLocal,
            boolean getAll,
            boolean noIgnore,
            boolean ignoreExternals,
            boolean depthAsSticky,
            Collection<String> changelists,
            StatusCallback callback)
            throws ClientException
Return the status of the working copy and maybe repository.

Parameters:
path - Path to explore.
depth - How deep to recurse into subdirectories.
onServer - Request status information from server.
onDisk - Check the working copy for local modifications. A value of false only has effect when onServer is true.
getAll - get status for uninteresting (unchanged) files.
noIgnore - get status for normaly ignored files and directories.
ignoreExternals - if externals are ignored during status
depthAsSticky - When set, interpret depth as the ambient depth of the working copy.
changelists - changelists to filter by
Throws:
ClientException
Since:
1.9

status

@Deprecated
void status(String path,
                       Depth depth,
                       boolean onServer,
                       boolean getAll,
                       boolean noIgnore,
                       boolean ignoreExternals,
                       Collection<String> changelists,
                       StatusCallback callback)
            throws ClientException
Deprecated. 

Return information about the status of the working copy and maybe repository.

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

Throws:
ClientException

list

void list(String url,
          Revision revision,
          Revision pegRevision,
          Depth depth,
          int direntFields,
          boolean fetchLocks,
          ListCallback callback)
          throws ClientException
Lists the directory entries of a url on the server.

Parameters:
url - the url to list
revision - the revision to list
pegRevision - the revision to interpret url
depth - the depth to recurse into subdirectories
direntFields - the fields to retrieve
fetchLocks - whether to fetch lock information
callback - the callback to receive the directory entries
Throws:
ClientException

username

void username(String username)
Sets the username used for authentication.

Parameters:
username - The username, ignored if the empty string. Set to the empty string to clear it.
Throws:
IllegalArgumentException - If username is null.
See Also:
password(String)

password

void password(String password)
Sets the password used for authentication.

Parameters:
password - The password, ignored if the empty string. Set to the empty string to clear it.
Throws:
IllegalArgumentException - If password is null.
See Also:
username(String)

setPrompt

void setPrompt(AuthnCallback prompt)
Register callback interface to supply username and password on demand. This callback can also be used to provide theequivalent of the --no-auth-cache and --non-interactive arguments accepted by the command-line client.

Parameters:
prompt - the callback interface

setPrompt

void setPrompt(UserPasswordCallback prompt)
Register callback interface to supply username and password on demand. This callback can also be used to provide theequivalent of the --no-auth-cache and --non-interactive arguments accepted by the command-line client.

Parameters:
prompt - the callback interface

setTunnelAgent

void setTunnelAgent(TunnelAgent tunnelAgent)
Set callbacks for ra_svn tunnel handling.

Since:
1.9

logMessages

void logMessages(String path,
                 Revision pegRevision,
                 List<RevisionRange> ranges,
                 boolean stopOnCopy,
                 boolean discoverPath,
                 boolean includeMergedRevisions,
                 Set<String> revProps,
                 long limit,
                 LogMessageCallback callback)
                 throws ClientException
Retrieve the log messages for an item.

Parameters:
path - path or url to get the log message for.
pegRevision - revision to interpret path
ranges - an array of revision ranges to show
stopOnCopy - do not continue on copy operations
discoverPath - returns the paths of the changed items in the returned objects
includeMergedRevisions - include log messages for revisions which were merged.
revProps - the revprops to retrieve
limit - limit the number of log messages (if 0 or less no limit)
callback - the object to receive the log messages
Throws:
ClientException

checkout

long checkout(String moduleName,
              String destPath,
              Revision revision,
              Revision pegRevision,
              Depth depth,
              boolean ignoreExternals,
              boolean allowUnverObstructions)
              throws ClientException
Executes a revision checkout.

Parameters:
moduleName - name of the module to checkout.
destPath - destination directory for checkout.
revision - the revision to checkout.
pegRevision - the peg revision to interpret the path
depth - how deep to checkout files recursively.
ignoreExternals - if externals are ignored during checkout
allowUnverObstructions - allow unversioned paths that obstruct adds
Throws:
ClientException

notification2

void notification2(ClientNotifyCallback notify)
Sets the notification callback used to send processing information back to the calling program.

Parameters:
notify - listener that the SVN library should call on many file operations.

setConflictResolver

void setConflictResolver(ConflictResolverCallback listener)
Set the conflict resolution callback.

Parameters:
listener - The conflict resolution callback.

setProgressCallback

void setProgressCallback(ProgressCallback listener)
Set the progress callback.

Parameters:
listener - The progress callback.

remove

void remove(Set<String> path,
            boolean force,
            boolean keepLocal,
            Map<String,String> revpropTable,
            CommitMessageCallback handler,
            CommitCallback callback)
            throws ClientException
Sets a file for deletion.

Parameters:
path - path or url to be deleted
force - delete even when there are local modifications.
keepLocal - only remove the paths from the repository.
revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
handler - the commit message callback
Throws:
ClientException

revert

void revert(Set<String> paths,
            Depth depth,
            Collection<String> changelists,
            boolean clearChangelists,
            boolean metadataOnly)
            throws ClientException
Reverts set of files or directories to a pristine state.

Parameters:
path - A set of paths to revert.
depth - the depth to recurse into subdirectories
changelists - changelists to filter by
clearChangelists - If set, will clear changelist association from the reverted paths.
metadataOnly - Revert just the metadata (including conflict data) and not the working files/dirs
Throws:
ClientException
Since:
1.9

revert

void revert(Set<String> paths,
            Depth depth,
            Collection<String> changelists)
            throws ClientException
Reverts set of files or directories to a pristine state.

Behaves like the 1.9 version with clearChangelists set to false;

Throws:
ClientException

revert

void revert(String path,
            Depth depth,
            Collection<String> changelists)
            throws ClientException
Reverts a file to a pristine state.

Parameters:
path - path of the file.
depth - the depth to recurse into subdirectories
changelists - changelists to filter by
Throws:
ClientException

add

void add(String path,
         Depth depth,
         boolean force,
         boolean noIgnores,
         boolean addParents)
         throws ClientException
Adds a file to the repository.

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

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

add

void add(String path,
         Depth depth,
         boolean force,
         boolean noIgnores,
         boolean noAutoProps,
         boolean addParents)
         throws ClientException
Adds a file to the repository.

Parameters:
path - path to be added.
depth - the depth to recurse into subdirectories
force - if adding a directory and recurse true and path is a directory, all not already managed files are added.
noIgnores - if false, don't add files or directories matching ignore patterns
noAutoProps - if true, ignore any auto-props configuration
addParents - add any intermediate parents to the working copy
Throws:
ClientException
Since:
1.8

update

long[] update(Set<String> path,
              Revision revision,
              Depth depth,
              boolean depthIsSticky,
              boolean makeParents,
              boolean ignoreExternals,
              boolean allowUnverObstructions)
              throws ClientException
Updates the directories or files from repository

Parameters:
path - array of target files.
revision - the revision number to update. Revision.HEAD will update to the latest revision.
depth - the depth to recursively update.
depthIsSticky - if set, and depth is not Depth.unknown, then also set the ambient depth value to depth.
ignoreExternals - if externals are ignored during update
allowUnverObstructions - allow unversioned paths that obstruct adds
Throws:
ClientException

commit

void commit(Set<String> path,
            Depth depth,
            boolean noUnlock,
            boolean keepChangelist,
            Collection<String> changelists,
            Map<String,String> revpropTable,
            CommitMessageCallback handler,
            CommitCallback callback)
            throws ClientException
Commits changes to the repository.

Parameters:
path - files to commit.
depth - how deep to recurse in subdirectories
noUnlock - do remove any locks
keepChangelist - keep changelist associations after the commit.
changelists - if non-null, filter paths using changelists
handler - the commit message callback
revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
Throws:
ClientException

copy

void copy(List<CopySource> sources,
          String destPath,
          boolean copyAsChild,
          boolean makeParents,
          boolean ignoreExternals,
          boolean metadataOnly,
          boolean pinExternals,
          Map<String,List<ExternalItem>> externalsToPin,
          Map<String,String> revpropTable,
          CommitMessageCallback handler,
          CommitCallback callback)
          throws ClientException
Copy versioned paths with the history preserved.

Parameters:
sources - A list of CopySource objects.
destPath - Destination path or URL.
copyAsChild - Whether to copy srcPaths as children of destPath.
makeParents - Whether to create intermediate parents
ignoreExternals - Whether or not to process external definitions as part of this operation.
metadataOnly - Copy just the metadata and not the working files/dirs
pinExternals - Whether or not to pin external definitions as part of this operation.
externalsToPin - The set of externals to pin. Keys are either local absolute paths (when the source of the copy is the working copy) or URLs within the repository (when the source is the repository) where an svn:externals property is defined. Values are lists of parsed ExternalItem objects from each external definitions. If pinExternals is true, only the externals in this set will be pinned; if this parameter is null, all externals will be pinned. If pinExternals is false, this parameter will be ignored.
revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
handler - the commit message callback, may be null if destPath is not a URL
Throws:
ClientException - If the copy operation fails.
NullPointerException - if the sources list is empty.
Since:
1.9

copy

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

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

Throws:
ClientException

move

void move(Set<String> srcPaths,
          String destPath,
          boolean force,
          boolean moveAsChild,
          boolean makeParents,
          boolean metadataOnly,
          boolean allowMixRev,
          Map<String,String> revpropTable,
          CommitMessageCallback handler,
          CommitCallback callback)
          throws ClientException
Move or rename versioned paths.

Parameters:
srcPaths - Source paths or URLs.
destPath - Destination path or URL.
force - Whether to perform the move even if local modifications exist.
moveAsChild - Whether to move srcPaths as children of destPath.
makeParents - Whether to create intermediate parents.
metadataOnly - Move just the metadata and not the working files/dirs
allowMixRev - If true use copy and delete without move tracking when a srcPath is mixed-revision, if false return an error when a srcPath is mixed-revision.
revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
handler - the commit message callback, may be null if destPath is not a URL
Throws:
ClientException - If the move operation fails.
Since:
1.8

move

@Deprecated
void move(Set<String> srcPaths,
                     String destPath,
                     boolean force,
                     boolean moveAsChild,
                     boolean makeParents,
                     Map<String,String> revpropTable,
                     CommitMessageCallback handler,
                     CommitCallback callback)
          throws ClientException
Deprecated. Provided for backward compatibility with 1.7. Passes metadataOnly false and allowMixRev true.

Throws:
ClientException

mkdir

void mkdir(Set<String> path,
           boolean makeParents,
           Map<String,String> revpropTable,
           CommitMessageCallback handler,
           CommitCallback callback)
           throws ClientException
Creates a directory directly in a repository or creates a directory on disk and schedules it for addition.

Parameters:
path - directories to be created
makeParents - Whether to create intermediate parents
revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
handler - the handler to use if paths contains URLs
Throws:
ClientException

cleanup

void cleanup(String path,
             boolean breakLocks,
             boolean fixRecordedTimestamps,
             boolean clearDavCache,
             boolean removeUnusedPristines,
             boolean includeExternals)
             throws ClientException
Recursively cleans up a local directory, finishing any incomplete operations, removing lockfiles, etc.

Parameters:
path - a local directory.
breakLocks - ### FIXME: Missing docstring in svn_client.h
clearDavCache - ### FIXME: Missing docstring in svn_client.h
removeUnusedPristines - ### FIXME: Missing docstring in svn_client.h
includeExternals - Recurse into externals working copies and clean them up, too.
Throws:
ClientException
Since:
1.9

cleanup

void cleanup(String path)
             throws ClientException
Recursively cleans up a local directory, finishing any incomplete operations, removing lockfiles, etc.

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

Parameters:
path - a local directory.
Throws:
ClientException

resolve

void resolve(String path,
             Depth depth,
             ConflictResult.Choice conflictResult)
             throws SubversionException
Resolves the conflicted state on a WC path (or tree).

Parameters:
path - The path to resolve.
depth - How deep to recurse into child paths.
conflictResult - Which version to choose in the event of a conflict.
Throws:
SubversionException - If an error occurs.

doExport

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

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

doExport

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

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

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

doSwitch

long doSwitch(String path,
              String url,
              Revision revision,
              Revision pegRevision,
              Depth depth,
              boolean depthIsSticky,
              boolean ignoreExternals,
              boolean allowUnverObstructions,
              boolean ignoreAncestry)
              throws ClientException
Update local copy to mirror a new url.

Parameters:
path - the working copy path
url - the new url for the working copy
revision - the new base revision of working copy
pegRevision - the revision at which to interpret path
depth - how deep to traverse into subdirectories
depthIsSticky - if set, and depth is not Depth.unknown, then also set the ambient depth value to depth.
ignoreExternals - whether to process externals definitions
allowUnverObstructions - allow unversioned paths that obstruct adds
ignoreAncestry - whether to skip common ancestry sanity check between path and url
Throws:
ClientException

doImport

void doImport(String path,
              String url,
              Depth depth,
              boolean noIgnore,
              boolean noAutoProps,
              boolean ignoreUnknownNodeTypes,
              Map<String,String> revpropTable,
              ImportFilterCallback importFilterCallback,
              CommitMessageCallback messageHandler,
              CommitCallback commitCallback)
              throws ClientException
Import a file or directory into a repository directory at head.

Parameters:
path - the local path
url - the target url
depth - depth to traverse into subdirectories
noIgnore - whether to add files matched by ignore patterns
noAutoProps - if true, ignore any auto-props configuration
ignoreUnknownNodeTypes - whether to ignore files which the node type is not konwn, just as pipes
revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
messageHandler - the commit message callback
commitCallback - the commit status callback
Throws:
ClientException
Since:
1.8

doImport

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

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

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

suggestMergeSources

Set<String> suggestMergeSources(String path,
                                Revision pegRevision)
                                throws SubversionException
Return an ordered list of suggested merge source URLs.

Parameters:
path - The merge target path for which to suggest sources.
pegRevision - Peg revision used to interpret path.
Returns:
The list of URLs, empty if there are no suggestions.
Throws:
ClientException - If an error occurs.
SubversionException

merge

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

Parameters:
path1 - first path or url
revision1 - first revision
path2 - second path or url
revision2 - second revision
localPath - target local path
force - overwrite local changes
depth - how deep to traverse into subdirectories
ignoreMergeinfo - ignore merge history, treat sources as unrelated
diffIgnoreAncestry - always treat source files as related
dryRun - do not change anything
allowMixedRev - allow merging into a mixed-revision working copy
recordOnly - record mergeinfo but do not run merge
Throws:
ClientException
Since:
1.9

merge

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

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

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

merge

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

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

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

merge

void merge(String path,
           Revision pegRevision,
           List<RevisionRange> revisions,
           String localPath,
           boolean force,
           Depth depth,
           boolean ignoreMergeinfo,
           boolean diffIgnoreAncestry,
           boolean dryRun,
           boolean allowMixedRev,
           boolean recordOnly)
           throws ClientException
Merge set of revisions into a new local path.

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

merge

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

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

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

merge

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

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

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

mergeReintegrate

@Deprecated
void mergeReintegrate(String path,
                                 Revision pegRevision,
                                 String localPath,
                                 boolean dryRun)
                      throws ClientException
Deprecated. Will be removed in a future release

Perform a reintegration merge of path into localPath. localPath must be a single-revision, infinite depth, pristine, unswitched working copy -- in other words, it must reflect a single revision tree, the "target". The mergeinfo on path must reflect that all of the target has been merged into it. Then this behaves like a merge from the target's URL to the localPath. The depth of the merge is always infinity.

Parameters:
path - path or url
pegRevision - revision to interpret path
localPath - target local path
dryRun - do not change anything
Throws:
ClientException

getMergeinfo

Mergeinfo getMergeinfo(String path,
                       Revision pegRevision)
                       throws SubversionException
Get mergeinfo for path at pegRevision.

Parameters:
path - WC path or URL.
pegRevision - peg revision at which to get the merge info for path.
Returns:
The merge history of path.
Throws:
SubversionException

getMergeinfoLog

void getMergeinfoLog(Mergeinfo.LogKind kind,
                     String pathOrUrl,
                     Revision pegRevision,
                     String mergeSourceUrl,
                     Revision srcPegRevision,
                     Revision srcStartRevision,
                     Revision srcEndRevision,
                     boolean discoverChangedPaths,
                     Depth depth,
                     Set<String> revProps,
                     LogMessageCallback callback)
                     throws ClientException
Retrieve either merged or eligible-to-be-merged revisions.

Parameters:
kind - kind of revisions to receive
pathOrUrl - target of merge
pegRevision - peg rev for pathOrUrl
mergeSourceUrl - the source of the merge
srcPegRevision - peg rev for mergeSourceUrl
srcStartRevision - lower bound of the source revision range
srcEndRevision - upper bound of the source revision range
discoverChangedPaths - return paths of changed items
depth - the depth to recurse to
revProps - the revprops to retrieve
callback - the object to receive the log messages
Throws:
ClientException
Since:
1.8

getMergeinfoLog

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

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

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

diff

void diff(String target1,
          Revision revision1,
          String target2,
          Revision revision2,
          String relativeToDir,
          OutputStream outStream,
          Depth depth,
          Collection<String> changelists,
          boolean ignoreAncestry,
          boolean noDiffDeleted,
          boolean force,
          boolean copiesAsAdds,
          boolean ignoreProps,
          boolean propsOnly,
          DiffOptions options)
          throws ClientException
Display the differences between two paths

Parameters:
target1 - first path or url
revision1 - first revision
target2 - second path or url
revision2 - second revision
relativeToDir - index path is relative to this path
outStream - the stream to which difference are written
depth - how deep to traverse into subdirectories
ignoreAncestry - ignore if files are not related
noDiffDeleted - no output on deleted files
force - diff even on binary files
copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
ignoreProps - don't show property diffs
propsOnly - show property changes only
options - additional options for controlling the output
Throws:
ClientException
Since:
1.8

diff

void diff(String target1,
          Revision revision1,
          String target2,
          Revision revision2,
          String relativeToDir,
          String outFileName,
          Depth depth,
          Collection<String> changelists,
          boolean ignoreAncestry,
          boolean noDiffDeleted,
          boolean force,
          boolean copiesAsAdds,
          boolean ignoreProps,
          boolean propsOnly,
          DiffOptions options)
          throws ClientException
Display the differences between two paths

Parameters:
target1 - first path or url
revision1 - first revision
target2 - second path or url
revision2 - second revision
relativeToDir - index path is relative to this path
outFileName - file name where difference are written
depth - how deep to traverse into subdirectories
ignoreAncestry - ignore if files are not related
noDiffDeleted - no output on deleted files
force - diff even on binary files
copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
ignoreProps - don't show property diffs
propsOnly - show property changes only
options - additional options for controlling the output
Throws:
ClientException
Since:
1.8

diff

void diff(String target1,
          Revision revision1,
          String target2,
          Revision revision2,
          String relativeToDir,
          OutputStream outStream,
          Depth depth,
          Collection<String> changelists,
          boolean ignoreAncestry,
          boolean noDiffDeleted,
          boolean force,
          boolean copiesAsAdds,
          boolean ignoreProps,
          boolean propsOnly)
          throws ClientException
Display the differences between two paths

Parameters:
target1 - first path or url
revision1 - first revision
target2 - second path or url
revision2 - second revision
relativeToDir - index path is relative to this path
outStream - the stream to which difference are written
depth - how deep to traverse into subdirectories
ignoreAncestry - ignore if files are not related
noDiffDeleted - no output on deleted files
force - diff even on binary files
copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
ignoreProps - don't show property diffs
propsOnly - show property changes only
Throws:
ClientException

diff

void diff(String target1,
          Revision revision1,
          String target2,
          Revision revision2,
          String relativeToDir,
          String outFileName,
          Depth depth,
          Collection<String> changelists,
          boolean ignoreAncestry,
          boolean noDiffDeleted,
          boolean force,
          boolean copiesAsAdds)
          throws ClientException
Display the differences between two paths

Parameters:
target1 - first path or url
revision1 - first revision
target2 - second path or url
revision2 - second revision
relativeToDir - index path is relative to this path
outFileName - file name where difference are written
depth - how deep to traverse into subdirectories
ignoreAncestry - ignore if files are not related
noDiffDeleted - no output on deleted files
force - diff even on binary files
copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
ignoreProps - don't show property diffs
propsOnly - show property changes only
Throws:
ClientException

diff

void diff(String target,
          Revision pegRevision,
          Revision startRevision,
          Revision endRevision,
          String relativeToDir,
          OutputStream outStream,
          Depth depth,
          Collection<String> changelists,
          boolean ignoreAncestry,
          boolean noDiffDeleted,
          boolean force,
          boolean copiesAsAdds,
          boolean ignoreProps,
          boolean propsOnly,
          DiffOptions options)
          throws ClientException
Display the differences between two paths.

Parameters:
target - path or url
pegRevision - revision tointerpret target
startRevision - first Revision to compare
endRevision - second Revision to compare
relativeToDir - index path is relative to this path
outStream - the stream to which difference are written
depth - how deep to traverse into subdirectories
changelists - if non-null, filter paths using changelists
ignoreAncestry - ignore if files are not related
noDiffDeleted - no output on deleted files
force - diff even on binary files
copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
ignoreProps - don't show property diffs
propsOnly - show property changes only
options - additional options for controlling the output
Throws:
ClientException
Since:
1.8

diff

void diff(String target,
          Revision pegRevision,
          Revision startRevision,
          Revision endRevision,
          String relativeToDir,
          String outFileName,
          Depth depth,
          Collection<String> changelists,
          boolean ignoreAncestry,
          boolean noDiffDeleted,
          boolean force,
          boolean copiesAsAdds,
          boolean ignoreProps,
          boolean propsOnly,
          DiffOptions options)
          throws ClientException
Display the differences between two paths.

Parameters:
target - path or url
pegRevision - revision tointerpret target
startRevision - first Revision to compare
endRevision - second Revision to compare
relativeToDir - index path is relative to this path
outFileName - file name where difference are written
depth - how deep to traverse into subdirectories
changelists - if non-null, filter paths using changelists
ignoreAncestry - ignore if files are not related
noDiffDeleted - no output on deleted files
force - diff even on binary files
copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
ignoreProps - don't show property diffs
propsOnly - show property changes only
options - additional options for controlling the output
Throws:
ClientException
Since:
1.8

diff

void diff(String target,
          Revision pegRevision,
          Revision startRevision,
          Revision endRevision,
          String relativeToDir,
          OutputStream outStream,
          Depth depth,
          Collection<String> changelists,
          boolean ignoreAncestry,
          boolean noDiffDeleted,
          boolean force,
          boolean copiesAsAdds,
          boolean ignoreProps,
          boolean propsOnly)
          throws ClientException
Display the differences between two paths.

Parameters:
target - path or url
pegRevision - revision tointerpret target
startRevision - first Revision to compare
endRevision - second Revision to compare
relativeToDir - index path is relative to this path
outStream - the stream to which difference are written
depth - how deep to traverse into subdirectories
changelists - if non-null, filter paths using changelists
ignoreAncestry - ignore if files are not related
noDiffDeleted - no output on deleted files
force - diff even on binary files
copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
ignoreProps - don't show property diffs
propsOnly - show property changes only
Throws:
ClientException

diff

void diff(String target,
          Revision pegRevision,
          Revision startRevision,
          Revision endRevision,
          String relativeToDir,
          String outFileName,
          Depth depth,
          Collection<String> changelists,
          boolean ignoreAncestry,
          boolean noDiffDeleted,
          boolean force,
          boolean copiesAsAdds)
          throws ClientException
Display the differences between two paths.

Parameters:
target - path or url
pegRevision - revision tointerpret target
startRevision - first Revision to compare
endRevision - second Revision to compare
relativeToDir - index path is relative to this path
outFileName - file name where difference are written
depth - how deep to traverse into subdirectories
changelists - if non-null, filter paths using changelists
ignoreAncestry - ignore if files are not related
noDiffDeleted - no output on deleted files
force - diff even on binary files
copiesAsAdds - if set, copied files will be shown in their entirety, not as diffs from their sources
ignoreProps - don't show property diffs
propsOnly - show property changes only
Throws:
ClientException

diffSummarize

void diffSummarize(String target1,
                   Revision revision1,
                   String target2,
                   Revision revision2,
                   Depth depth,
                   Collection<String> changelists,
                   boolean ignoreAncestry,
                   DiffSummaryCallback receiver)
                   throws ClientException
Produce a diff summary which lists the items changed between path and revision pairs.

Parameters:
target1 - Path or URL.
revision1 - Revision of target1.
target2 - Path or URL.
revision2 - Revision of target2.
depth - how deep to recurse.
changelists - if non-null, filter paths using changelists
ignoreAncestry - Whether to ignore unrelated files during comparison. False positives may potentially be reported if this parameter false, since a file might have been modified between two revisions, but still have the same contents.
receiver - As each is difference is found, this callback is invoked with a description of the difference.
Throws:
ClientException

diffSummarize

void diffSummarize(String target,
                   Revision pegRevision,
                   Revision startRevision,
                   Revision endRevision,
                   Depth depth,
                   Collection<String> changelists,
                   boolean ignoreAncestry,
                   DiffSummaryCallback receiver)
                   throws ClientException
Produce a diff summary which lists the items changed between path and revision pairs.

Parameters:
target - Path or URL.
pegRevision - Revision at which to interpret target. If Revision.UNSPECIFIED or null, behave identically to diffSummarize(String, Revision, String, Revision, Depth, Collection, boolean, DiffSummaryCallback), using path for both of that method's targets.
startRevision - Beginning of range for comparison of target.
endRevision - End of range for comparison of target.
depth - how deep to recurse.
changelists - if non-null, filter paths using changelists
ignoreAncestry - Whether to ignore unrelated files during comparison. False positives may potentially be reported if this parameter false, since a file might have been modified between two revisions, but still have the same contents.
receiver - As each is difference is found, this callback is invoked with a description of the difference.
Throws:
ClientException

properties

void properties(String path,
                Revision revision,
                Revision pegRevision,
                Depth depth,
                Collection<String> changelists,
                ProplistCallback callback)
                throws ClientException
Retrieves the properties of an item

Parameters:
path - the path of the item
revision - the revision of the item
pegRevision - the revision to interpret path
depth - the depth to recurse into subdirectories
changelists - changelists to filter by
callback - the callback to use to return the properties
Throws:
ClientException

properties

void properties(String path,
                Revision revision,
                Revision pegRevision,
                Depth depth,
                Collection<String> changelists,
                InheritedProplistCallback callback)
                throws ClientException
Retrieves the properties of an item, including inherited properties.

Parameters:
path - the path of the item
revision - the revision of the item
pegRevision - the revision to interpret path
depth - the depth to recurse into subdirectories
changelists - changelists to filter by
callback - the callback to use to return the properties
Throws:
ClientException
Since:
1.8

propertySetLocal

void propertySetLocal(Set<String> paths,
                      String name,
                      byte[] value,
                      Depth depth,
                      Collection<String> changelists,
                      boolean force)
                      throws ClientException
Sets one property of an item with a String value

Parameters:
paths - paths of the items
name - name of the property
value - new value of the property. Set value to null to delete a property
depth - the depth to recurse into subdirectories
changelists - changelists to filter by
force - do not check if the value is valid
Throws:
ClientException

propertySetRemote

void propertySetRemote(String path,
                       long baseRev,
                       String name,
                       byte[] value,
                       CommitMessageCallback handler,
                       boolean force,
                       Map<String,String> revpropTable,
                       CommitCallback callback)
                       throws ClientException
Sets one property of an item with a String value

Parameters:
paths - paths of the items
name - name of the property
value - new value of the property. Set value to null to delete a property
depth - the depth to recurse into subdirectories
changelists - changelists to filter by
force - do not check if the value is valid
revpropTable - A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.
Throws:
ClientException

revProperty

byte[] revProperty(String path,
                   String name,
                   Revision rev)
                   throws ClientException
Retrieve one revsision property of one item

Parameters:
path - path of the item
name - name of the property
rev - revision to retrieve
Returns:
the Property
Throws:
ClientException

revProperties

Map<String,byte[]> revProperties(String path,
                                 Revision rev)
                                 throws ClientException
Retrieve all revsision properties of one item

Parameters:
path - path of the item
rev - revision to retrieve
Returns:
the Properties
Throws:
ClientException

setRevProperty

void setRevProperty(String path,
                    String name,
                    Revision rev,
                    String value,
                    String originalValue,
                    boolean force)
                    throws ClientException
set one revsision property of one item

Parameters:
path - path of the item
name - name of the property
rev - revision to retrieve
value - value of the property
originalValue - the original value of the property.
force - use force to set
Throws:
ClientException

propertyGet

byte[] propertyGet(String path,
                   String name,
                   Revision revision,
                   Revision pegRevision,
                   Collection<String> changelists)
                   throws ClientException
Retrieve one property of one item

Parameters:
path - path of the item
name - name of property
revision - revision of the item
pegRevision - the revision to interpret path
Returns:
the Property
Throws:
ClientException

propertyGet

byte[] propertyGet(String path,
                   String name,
                   Revision revision,
                   Revision pegRevision)
                   throws ClientException
Throws:
ClientException

fileContent

byte[] fileContent(String path,
                   Revision revision,
                   Revision pegRevision)
                   throws ClientException
Retrieve the content of a file Always expands keywords and never returns properties.

Parameters:
path - the path of the file
revision - the revision to retrieve
pegRevision - the revision to interpret path
Returns:
the content as byte array
Throws:
ClientException

streamFileContent

Map<String,byte[]> streamFileContent(String path,
                                     Revision revision,
                                     Revision pegRevision,
                                     boolean expandKeywords,
                                     boolean returnProps,
                                     OutputStream stream)
                                     throws ClientException
Write the file's content to the specified output stream. If you need an InputStream, use a PipedInputStream/PipedOutputStream combination.

Parameters:
path - the path of the file
revision - the revision to retrieve
pegRevision - the revision at which to interpret the path
stream - the stream to write the file's content to
returnProps - whether to return the file's own (not inherited) properties dalong with the contents
Returns:
The file's properties if returnProps is set (which may yield an empty map), otherwise null.
Throws:
ClientException
Since:
1.9
See Also:
PipedOutputStream, PipedInputStream

streamFileContent

void streamFileContent(String path,
                       Revision revision,
                       Revision pegRevision,
                       OutputStream stream)
                       throws ClientException
Write the file's content to the specified output stream. If you need an InputStream, use a PipedInputStream/PipedOutputStream combination. Always expands keywords and never returns properties.

Parameters:
path - the path of the file
revision - the revision to retrieve
pegRevision - the revision at which to interpret the path
stream - the stream to write the file's content to
Throws:
ClientException
See Also:
PipedOutputStream, PipedInputStream

relocate

void relocate(String from,
              String to,
              String path,
              boolean ignoreExternals)
              throws ClientException
Rewrite the url's in the working copy

Parameters:
from - old url
to - new url
path - working copy path
ignoreExternals - if externals are ignored during relocate
Throws:
ClientException

blame

void blame(String path,
           Revision pegRevision,
           Revision revisionStart,
           Revision revisionEnd,
           boolean ignoreMimeType,
           boolean includeMergedRevisions,
           BlameCallback callback,
           DiffOptions options)
           throws ClientException
Retrieve the content together with the author, the revision and the date of the last change of each line

Parameters:
path - the path
pegRevision - the revision to interpret the path
revisionStart - the first revision to show
revisionEnd - the last revision to show
ignoreMimeType - whether or not to ignore the mime-type
includeMergedRevisions - whether or not to include extra merge information
callback - callback to receive the file content and the other information
options - additional options for controlling the output
Throws:
ClientException
Since:
1.9

blame

void blame(String path,
           Revision pegRevision,
           Revision revisionStart,
           Revision revisionEnd,
           boolean ignoreMimeType,
           boolean includeMergedRevisions,
           BlameCallback callback)
           throws ClientException
Retrieve the content together with the author, the revision and the date of the last change of each line

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

Throws:
ClientException

setConfigDirectory

void setConfigDirectory(String configDir)
                        throws ClientException
Set directory for the configuration information, taking the usual steps to ensure that Subversion's config file templates exist in the specified location.. On Windows, setting a non-null value will override lookup of configuration in the registry.

Parameters:
configDir - Path of the directory, or null for the platform's default.
Throws:
ClientException

getConfigDirectory

String getConfigDirectory()
                          throws ClientException
Get the configuration directory

Returns:
the directory
Throws:
ClientException

setConfigEventHandler

void setConfigEventHandler(ConfigEvent configHandler)
                           throws ClientException
Set an event handler that will be called every time the configuration is loaded by this client object.

Throws:
ClientException

getConfigEventHandler

ConfigEvent getConfigEventHandler()
                                  throws ClientException
Return a reference to the installed configuration event handler. The returned value may be null.

Throws:
ClientException

cancelOperation

void cancelOperation()
                     throws ClientException
cancel the active operation

Throws:
ClientException

addToChangelist

void addToChangelist(Set<String> paths,
                     String changelist,
                     Depth depth,
                     Collection<String> changelists)
                     throws ClientException
Add paths to a changelist

Parameters:
paths - paths to add to the changelist
changelist - changelist name
depth - the depth to recurse
changelists - changelists to filter by
Throws:
ClientException

removeFromChangelists

void removeFromChangelists(Set<String> paths,
                           Depth depth,
                           Collection<String> changelists)
                           throws ClientException
Remove paths from a changelist

Parameters:
paths - paths to remove from the changelist
depth - the depth to recurse
changelists - changelists to filter by
Throws:
ClientException

getChangelists

void getChangelists(String rootPath,
                    Collection<String> changelists,
                    Depth depth,
                    ChangelistCallback callback)
                    throws ClientException
Recursively get the paths which belong to a changelist

Parameters:
rootPath - the wc path under which to check
changelists - the changelists to look under; if null, all changelists will be considered.
depth - the depth to recurse
callback - the callback to return the changelists through
Throws:
ClientException

lock

void lock(Set<String> path,
          String comment,
          boolean force)
          throws ClientException
Lock a working copy item

Parameters:
path - path of the item
comment -
force - break an existing lock
Throws:
ClientException

unlock

void unlock(Set<String> path,
            boolean force)
            throws ClientException
Unlock a working copy item

Parameters:
path - path of the item
force - break an existing lock
Throws:
ClientException

info

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

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

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

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

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

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

info2

void info2(String pathOrUrl,
           Revision revision,
           Revision pegRevision,
           Depth depth,
           Collection<String> changelists,
           InfoCallback callback)
           throws ClientException
Retrieve information about repository or working copy items.

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

Throws:
ClientException

getVersionInfo

String getVersionInfo(String path,
                      String trailUrl,
                      boolean lastChanged)
                      throws ClientException
Produce a compact "version number" for a working copy

Parameters:
path - path of the working copy
trailUrl - to detect switches of the whole working copy
lastChanged - last changed rather than current revisions
Returns:
the compact "version number"
Throws:
ClientException

upgrade

void upgrade(String path)
             throws ClientException
Recursively upgrade a working copy to a new metadata storage format.

Parameters:
path - path of the working copy
Throws:
ClientException

patch

void patch(String patchPath,
           String targetPath,
           boolean dryRun,
           int stripCount,
           boolean reverse,
           boolean ignoreWhitespace,
           boolean removeTempfiles,
           PatchCallback callback)
           throws ClientException
Apply a unidiff patch.

Parameters:
patchPath - the path of the patch
targetPath - the path to be patched
dryRun - whether to actually modify the local content
stripCount - how many leading path components should be removed
reverse - whether to reverse the patch
ignoreWhitespace - whether to ignore whitespace
removeTempfiles - whether to remove temp files
callback - a handler to receive information as files are patched
Throws:
ClientException

vacuum

void vacuum(String path,
            boolean removeUnversionedItems,
            boolean removeIgnoredItems,
            boolean fixRecordedTimestamps,
            boolean removeUnusedPristines,
            boolean includeExternals)
            throws ClientException
Recursively vacuum a working copy, removing unnecessary data.

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

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

openRemoteSession

ISVNRemote openRemoteSession(String pathOrUrl)
                             throws ClientException,
                                    SubversionException
Open a persistent session to a repository.

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

Parameters:
pathOrUrl - A path in a working copy from which the session URL is derived, or the URL itself.
Throws:
remote.RetryOpenSession - If the session URL was redirected
SubversionException - If an URL redirect cycle was detected
ClientException
Since:
1.9

openRemoteSession

ISVNRemote openRemoteSession(String pathOrUrl,
                             int retryAttempts)
                             throws ClientException,
                                    SubversionException
Open a persistent session to a repository.

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

Parameters:
pathOrUrl - A path in a working copy from which the session URL is derived, or the URL itself.
retryAttempts - The number of times to retry the operation if the given URL is redirected.
Throws:
IllegalArgumentException - If retryAttempts is not positive
remote.RetryOpenSession - If the session URL was redirected
SubversionException - If an URL redirect cycle was detected
ClientException
Since:
1.9