Interface ISVNClient
- All Known Implementing Classes:
SVNClient
public interface ISVNClient
- Since:
- 1.7
-
Method Summary
Modifier and Type Method Description 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 changelistvoid
blame(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, BlameCallback callback)
Deprecated.Use the 1.12 version with BlameLineCallbackvoid
blame(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, BlameCallback callback, DiffOptions options)
Deprecated.Use the 1.12 version with BlameLineCallbackvoid
blame(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, DiffOptions options, BlameRangeCallback rangeCallback, BlameLineCallback lineCallback)
Retrieve the content together with the author, the revision and the date of the last change of each line.void
cancelOperation()
cancel the active operationlong
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 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 pathsvoid
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 pathsvoid
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 pathsvoid
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 pathsvoid
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
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
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
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 changelistString
getConfigDirectory()
Get the configuration directoryConfigEvent
getConfigEventHandler()
Return a reference to the installed configuration event handler.Mergeinfo
getMergeinfo(String path, Revision pegRevision)
Get mergeinfo forpath
atpegRevision
.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 copyvoid
info(String pathOrUrl, Revision revision, Revision pegRevision, Depth depth, boolean fetchExcluded, boolean fetchActualOnly, boolean includeExternals, Collection<String> changelists, InfoCallback callback)
Invokecallback
to return informationpathOrUrl
inrevision
.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, List<String> patterns, Depth depth, int direntFields, boolean fetchLocks, boolean includeExternals, ListItemCallback callback)
Lists the directory entries of a url on the server.void
list(String url, Revision revision, Revision pegRevision, Depth depth, int direntFields, boolean fetchLocks, ListCallback callback)
Deprecated.void
lock(Set<String> path, String comment, boolean force)
Lock a working copy itemvoid
logMessages(String path, Revision pegRevision, List<RevisionRange> ranges, boolean stopOnCopy, boolean discoverPath, boolean includeMergedRevisions, Set<String> revProps, boolean allRevProps, long limit, LogMessageCallback callback)
Retrieve the log messages for an item.void
logMessages(String path, Revision pegRevision, List<RevisionRange> ranges, boolean stopOnCopy, boolean discoverPath, boolean includeMergedRevisions, Set<String> revProps, long limit, LogMessageCallback callback)
Deprecated.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
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
mergeReintegrate(String path, Revision pegRevision, String localPath, boolean dryRun)
Deprecated.Will be removed in a future releasevoid
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.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 itembyte[]
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 itemvoid
propertySetLocal(Set<String> paths, String name, byte[] value, Depth depth, Collection<String> changelists, boolean force)
Sets one property of an item with a String valuevoid
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 valuevoid
relocate(String from, String to, String path, boolean ignoreExternals)
Rewrite the url's in the working copyvoid
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 changelistvoid
resolve(String path, Depth depth, ConflictResult.Choice conflictResult)
Resolves the conflicted state on a WC path (or tree).void
revert(String path, Depth depth, Collection<String> changelists)
Reverts a file to a pristine state.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.Map<String,byte[]>
revProperties(String path, Revision rev)
Retrieve all revsision properties of one itembyte[]
revProperty(String path, String name, Revision rev)
Retrieve one revsision property of one itemvoid
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 itemvoid
setTunnelAgent(TunnelAgent tunnelAgent)
Set callbacks for ra_svn tunnel handling.void
status(String path, Depth depth, boolean onServer, boolean onDisk, 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 itemlong[]
update(Set<String> path, Revision revision, Depth depth, boolean depthIsSticky, boolean makeParents, boolean ignoreExternals, boolean allowUnverObstructions)
Updates the directories or files from repositoryvoid
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 Details
-
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
- 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
- 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 onDisk, boolean getAll, boolean noIgnore, boolean ignoreExternals, boolean depthAsSticky, Collection<String> changelists, StatusCallback callback) throws ClientExceptionReturn 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 offalse
only has effect whenonServer
istrue
.getAll
- get status for uninteresting (unchanged) files.noIgnore
- get status for normaly ignored files and directories.ignoreExternals
- if externals are ignored during statusdepthAsSticky
- When set, interpretdepth
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 ClientExceptionDeprecated.Return information about the status of the working copy and maybe repository.Behaves like the 1.9 version with
onDisk = true
anddepthAsSticky = false
.- Throws:
ClientException
-
list
void list(String url, Revision revision, Revision pegRevision, List<String> patterns, Depth depth, int direntFields, boolean fetchLocks, boolean includeExternals, ListItemCallback callback) throws ClientExceptionLists the directory entries of a url on the server.- Parameters:
url
- the url to listrevision
- the revision to listpegRevision
- the revision to interpret urlpatterns
- optional glob patterns to filter the resultdepth
- the depth to recurse into subdirectoriesdirentFields
- the fields to retrievefetchLocks
- whether to fetch lock informationincludeExternals
- whether to list external itemscallback
- the callback to receive the directory entries- Throws:
ClientException
- Since:
- 1.10
-
list
@Deprecated void list(String url, Revision revision, Revision pegRevision, Depth depth, int direntFields, boolean fetchLocks, ListCallback callback) throws ClientExceptionDeprecated.Lists the directory entries of a url on the server.Behaves like the 1.10 version with
patterns = null
andincludeExternals = false
- Throws:
ClientException
-
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
- Ifusername
isnull
.- See Also:
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
- Ifpassword
isnull
.- See Also:
username(String)
-
setPrompt
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
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
Set callbacks for ra_svn tunnel handling.- Since:
- 1.9
-
logMessages
@Deprecated void logMessages(String path, Revision pegRevision, List<RevisionRange> ranges, boolean stopOnCopy, boolean discoverPath, boolean includeMergedRevisions, Set<String> revProps, long limit, LogMessageCallback callback) throws ClientExceptionDeprecated.Retrieve the log messages for an item.Behaves like the 1.10 version with
allRevProps = false
- Throws:
ClientException
-
logMessages
void logMessages(String path, Revision pegRevision, List<RevisionRange> ranges, boolean stopOnCopy, boolean discoverPath, boolean includeMergedRevisions, Set<String> revProps, boolean allRevProps, long limit, LogMessageCallback callback) throws ClientExceptionRetrieve the log messages for an item.- Parameters:
path
- path or url to get the log message for.pegRevision
- revision to interpret pathranges
- an array of revision ranges to showstopOnCopy
- do not continue on copy operationsdiscoverPath
- returns the paths of the changed items in the returned objectsincludeMergedRevisions
- include log messages for revisions which were merged.revProps
- the revprops to retrieveallRevProps
- iftrue
, ignore therevProps
parameter and retrieve all revision propertieslimit
- limit the number of log messages (if 0 or less no limit)callback
- the object to receive the log messages- Throws:
ClientException
- Since:
- 1.10
-
checkout
long checkout(String moduleName, String destPath, Revision revision, Revision pegRevision, Depth depth, boolean ignoreExternals, boolean allowUnverObstructions) throws ClientExceptionExecutes 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 pathdepth
- how deep to checkout files recursively.ignoreExternals
- if externals are ignored during checkoutallowUnverObstructions
- allow unversioned paths that obstruct adds- Throws:
ClientException
-
notification2
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
Set the conflict resolution callback.- Parameters:
listener
- The conflict resolution callback.
-
setProgressCallback
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 ClientExceptionSets a file for deletion.- Parameters:
path
- path or url to be deletedforce
- 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 ClientExceptionReverts set of files or directories to a pristine state.- Parameters:
path
- A set of paths to revert.depth
- the depth to recurse into subdirectorieschangelists
- changelists to filter byclearChangelists
- 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
Reverts set of files or directories to a pristine state.Behaves like the 1.9 version with
clearChangelists
set tofalse
;- Throws:
ClientException
-
revert
Reverts a file to a pristine state.- Parameters:
path
- path of the file.depth
- the depth to recurse into subdirectorieschangelists
- changelists to filter by- Throws:
ClientException
-
add
void add(String path, Depth depth, boolean force, boolean noIgnores, boolean addParents) throws ClientExceptionAdds a file to the repository.Note: Behaves like the 1.8 version with
noAutoProps
set tofalse
.- Parameters:
path
- path to be added.depth
- the depth to recurse into subdirectoriesforce
- 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 patternsaddParents
- 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 ClientExceptionAdds a file to the repository.- Parameters:
path
- path to be added.depth
- the depth to recurse into subdirectoriesforce
- 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 patternsnoAutoProps
- if true, ignore any auto-props configurationaddParents
- 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 ClientExceptionUpdates 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 notDepth.unknown
, then also set the ambient depth value to depth.ignoreExternals
- if externals are ignored during updateallowUnverObstructions
- 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 ClientExceptionCommits changes to the repository.- Parameters:
path
- files to commit.depth
- how deep to recurse in subdirectoriesnoUnlock
- do remove any lockskeepChangelist
- keep changelist associations after the commit.changelists
- if non-null, filter paths using changelistshandler
- the commit message callbackrevpropTable
- 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 ClientExceptionCopy versioned paths with the history preserved.- Parameters:
sources
- A list ofCopySource
objects.destPath
- Destination path or URL.copyAsChild
- Whether to copysrcPaths
as children ofdestPath
.makeParents
- Whether to create intermediate parentsignoreExternals
- Whether or not to process external definitions as part of this operation.metadataOnly
- Copy just the metadata and not the working files/dirspinExternals
- 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 ansvn:externals
property is defined. Values are lists of parsedExternalItem
objects from each external definitions. IfpinExternals
istrue
, only the externals in this set will be pinned; if this parameter isnull
, all externals will be pinned. IfpinExternals
isfalse
, 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 benull
ifdestPath
is not a URL- Throws:
ClientException
- If the copy operation fails.NullPointerException
- if thesources
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 ClientExceptionCopy versioned paths with the history preserved.Behaves like the 1.9 version with
pinExternals
set tofalse
andexternalsToPin
set tonull
andmetadataOnly
set tofalse
.- 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 ClientExceptionMove 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 movesrcPaths
as children ofdestPath
.makeParents
- Whether to create intermediate parents.metadataOnly
- Move just the metadata and not the working files/dirsallowMixRev
- 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 benull
ifdestPath
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 ClientExceptionDeprecated.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 ClientExceptionCreates a directory directly in a repository or creates a directory on disk and schedules it for addition.- Parameters:
path
- directories to be createdmakeParents
- Whether to create intermediate parentsrevpropTable
- 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 ClientExceptionRecursively cleans up a local directory, finishing any incomplete operations, removing lockfiles, etc.- Parameters:
path
- a local directory.breakLocks
- ### FIXME: Missing docstring in svn_client.hclearDavCache
- ### FIXME: Missing docstring in svn_client.hremoveUnusedPristines
- ### FIXME: Missing docstring in svn_client.hincludeExternals
- Recurse into externals working copies and clean them up, too.- Throws:
ClientException
- Since:
- 1.9
-
cleanup
Recursively cleans up a local directory, finishing any incomplete operations, removing lockfiles, etc.Behaves like the 1.9 version with
includeExternals
set tofalse
, and the other flags to
true
.- Parameters:
path
- a local directory.- Throws:
ClientException
-
resolve
void resolve(String path, Depth depth, ConflictResult.Choice conflictResult) throws SubversionExceptionResolves 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 ClientExceptionExports 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 exporteddestPath
- a destination path that must not already exist.revision
- the revsion to be exportedpegRevision
- the revision to interpret srcPathforce
- set if it is ok to overwrite local filesignoreExternals
- ignore external during exportdepth
- how deep to recurse in subdirectoriesnativeEOL
- 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 ClientExceptionExports 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 exporteddestPath
- a destination path that must not already exist.revision
- the revsion to be exportedpegRevision
- the revision to interpret srcPathforce
- set if it is ok to overwrite local filesignoreExternals
- ignore external during exportdepth
- how deep to recurse in subdirectoriesnativeEOL
- 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 ClientExceptionUpdate local copy to mirror a new url.- Parameters:
path
- the working copy pathurl
- the new url for the working copyrevision
- the new base revision of working copypegRevision
- the revision at which to interpretpath
depth
- how deep to traverse into subdirectoriesdepthIsSticky
- if set, and depth is notDepth.unknown
, then also set the ambient depth value to depth.ignoreExternals
- whether to process externals definitionsallowUnverObstructions
- allow unversioned paths that obstruct addsignoreAncestry
- whether to skip common ancestry sanity check betweenpath
andurl
- 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 ClientExceptionImport a file or directory into a repository directory at head.- Parameters:
path
- the local pathurl
- the target urldepth
- depth to traverse into subdirectoriesnoIgnore
- whether to add files matched by ignore patternsnoAutoProps
- if true, ignore any auto-props configurationignoreUnknownNodeTypes
- whether to ignore files which the node type is not konwn, just as pipesrevpropTable
- 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 callbackcommitCallback
- 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 ClientExceptionImport 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 pathurl
- the target urldepth
- depth to traverse into subdirectoriesnoIgnore
- whether to add files matched by ignore patternsignoreUnknownNodeTypes
- whether to ignore files which the node type is not konwn, just as pipesrevpropTable
- 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 callbackcallback
- the commit status callback- Throws:
ClientException
-
suggestMergeSources
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 ClientExceptionMerge changes from two paths into a new local path.- Parameters:
path1
- first path or urlrevision1
- first revisionpath2
- second path or urlrevision2
- second revisionlocalPath
- target local pathforce
- overwrite local changesdepth
- how deep to traverse into subdirectoriesignoreMergeinfo
- ignore merge history, treat sources as unrelateddiffIgnoreAncestry
- always treat source files as relateddryRun
- do not change anythingallowMixedRev
- allow merging into a mixed-revision working copyrecordOnly
- 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 ClientExceptionMerge 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 urlrevision1
- first revisionpath2
- second path or urlrevision2
- second revisionlocalPath
- target local pathforce
- overwrite local changesdepth
- how deep to traverse into subdirectoriesignoreMergeinfo
- ignore merge history, treat sources as unrelateddiffIgnoreAncestry
- always treat source files as relateddryRun
- do not change anythingrecordOnly
- 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 ClientExceptionMerge 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 urlrevision1
- first revisionpath2
- second path or urlrevision2
- second revisionlocalPath
- target local pathforce
- overwrite local changesdepth
- how deep to traverse into subdirectoriesignoreAncestry
- ignore if files are not relateddryRun
- do not change anythingrecordOnly
- 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 ClientExceptionMerge set of revisions into a new local path.- Parameters:
path
- path or urlpegRevision
- revision to interpret pathrevisions
- revisions to merge; may be null, indicating that the optimal range should be determined automatciallylocalPath
- target local pathforce
- overwrite local changesdepth
- how deep to traverse into subdirectoriesignoreMergeinfo
- ignore merge history, treat sources as unrelateddiffIgnoreAncestry
- always treat source files as relateddryRun
- do not change anythingallowMixedRev
- allow merging into a mixed-revision working copyrecordOnly
- 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 ClientExceptionMerge 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 urlpegRevision
- revision to interpret pathrevisions
- revisions to merge; may be null, indicating that the optimal range should be determined automatciallylocalPath
- target local pathforce
- overwrite local changesdepth
- how deep to traverse into subdirectoriesignoreMergeinfo
- ignore merge history, treat sources as unrelateddiffIgnoreAncestry
- always treat source files as relateddryRun
- do not change anythingrecordOnly
- 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 ClientExceptionMerge 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 urlpegRevision
- revision to interpret pathrevisions
- revisions to merge; may be null, indicating that the optimal range should be determined automatcially (new in 1.8)localPath
- target local pathforce
- overwrite local changesdepth
- how deep to traverse into subdirectoriesignoreAncestry
- ignore if files are not relateddryRun
- do not change anythingrecordOnly
- record mergeinfo but do not run merge- Throws:
ClientException
-
mergeReintegrate
@Deprecated void mergeReintegrate(String path, Revision pegRevision, String localPath, boolean dryRun) throws ClientExceptionDeprecated.Will be removed in a future releasePerform 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 urlpegRevision
- revision to interpret pathlocalPath
- target local pathdryRun
- do not change anything- Throws:
ClientException
-
getMergeinfo
Get mergeinfo forpath
atpegRevision
.- Parameters:
path
- WC path or URL.pegRevision
- peg revision at which to get the merge info forpath
.- 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 ClientExceptionRetrieve either merged or eligible-to-be-merged revisions.- Parameters:
kind
- kind of revisions to receivepathOrUrl
- target of mergepegRevision
- peg rev for pathOrUrlmergeSourceUrl
- the source of the mergesrcPegRevision
- peg rev for mergeSourceUrlsrcStartRevision
- lower bound of the source revision rangesrcEndRevision
- upper bound of the source revision rangediscoverChangedPaths
- return paths of changed itemsdepth
- the depth to recurse torevProps
- the revprops to retrievecallback
- 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 ClientExceptionRetrieve 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 receivepathOrUrl
- target of mergepegRevision
- peg rev for pathOrUrlmergeSourceUrl
- the source of the mergesrcPegRevision
- peg rev for mergeSourceUrldiscoverChangedPaths
- return paths of changed itemsdepth
- the depth to recurse torevProps
- the revprops to retrievecallback
- 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 ClientExceptionDisplay the differences between two paths- Parameters:
target1
- first path or urlrevision1
- first revisiontarget2
- second path or urlrevision2
- second revisionrelativeToDir
- index path is relative to this pathoutStream
- the stream to which difference are writtendepth
- how deep to traverse into subdirectoriesignoreAncestry
- ignore if files are not relatednoDiffDeleted
- no output on deleted filesforce
- diff even on binary filescopiesAsAdds
- if set, copied files will be shown in their entirety, not as diffs from their sourcesignoreProps
- don't show property diffspropsOnly
- show property changes onlyoptions
- 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 ClientExceptionDisplay the differences between two paths- Parameters:
target1
- first path or urlrevision1
- first revisiontarget2
- second path or urlrevision2
- second revisionrelativeToDir
- index path is relative to this pathoutFileName
- file name where difference are writtendepth
- how deep to traverse into subdirectoriesignoreAncestry
- ignore if files are not relatednoDiffDeleted
- no output on deleted filesforce
- diff even on binary filescopiesAsAdds
- if set, copied files will be shown in their entirety, not as diffs from their sourcesignoreProps
- don't show property diffspropsOnly
- show property changes onlyoptions
- 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 ClientExceptionDisplay the differences between two paths- Parameters:
target1
- first path or urlrevision1
- first revisiontarget2
- second path or urlrevision2
- second revisionrelativeToDir
- index path is relative to this pathoutStream
- the stream to which difference are writtendepth
- how deep to traverse into subdirectoriesignoreAncestry
- ignore if files are not relatednoDiffDeleted
- no output on deleted filesforce
- diff even on binary filescopiesAsAdds
- if set, copied files will be shown in their entirety, not as diffs from their sourcesignoreProps
- don't show property diffspropsOnly
- 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 ClientExceptionDisplay the differences between two paths- Parameters:
target1
- first path or urlrevision1
- first revisiontarget2
- second path or urlrevision2
- second revisionrelativeToDir
- index path is relative to this pathoutFileName
- file name where difference are writtendepth
- how deep to traverse into subdirectoriesignoreAncestry
- ignore if files are not relatednoDiffDeleted
- no output on deleted filesforce
- diff even on binary filescopiesAsAdds
- if set, copied files will be shown in their entirety, not as diffs from their sourcesignoreProps
- don't show property diffspropsOnly
- 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 ClientExceptionDisplay the differences between two paths.- Parameters:
target
- path or urlpegRevision
- revision tointerpret targetstartRevision
- first Revision to compareendRevision
- second Revision to comparerelativeToDir
- index path is relative to this pathoutStream
- the stream to which difference are writtendepth
- how deep to traverse into subdirectorieschangelists
- if non-null, filter paths using changelistsignoreAncestry
- ignore if files are not relatednoDiffDeleted
- no output on deleted filesforce
- diff even on binary filescopiesAsAdds
- if set, copied files will be shown in their entirety, not as diffs from their sourcesignoreProps
- don't show property diffspropsOnly
- show property changes onlyoptions
- 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 ClientExceptionDisplay the differences between two paths.- Parameters:
target
- path or urlpegRevision
- revision tointerpret targetstartRevision
- first Revision to compareendRevision
- second Revision to comparerelativeToDir
- index path is relative to this pathoutFileName
- file name where difference are writtendepth
- how deep to traverse into subdirectorieschangelists
- if non-null, filter paths using changelistsignoreAncestry
- ignore if files are not relatednoDiffDeleted
- no output on deleted filesforce
- diff even on binary filescopiesAsAdds
- if set, copied files will be shown in their entirety, not as diffs from their sourcesignoreProps
- don't show property diffspropsOnly
- show property changes onlyoptions
- 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 ClientExceptionDisplay the differences between two paths.- Parameters:
target
- path or urlpegRevision
- revision tointerpret targetstartRevision
- first Revision to compareendRevision
- second Revision to comparerelativeToDir
- index path is relative to this pathoutStream
- the stream to which difference are writtendepth
- how deep to traverse into subdirectorieschangelists
- if non-null, filter paths using changelistsignoreAncestry
- ignore if files are not relatednoDiffDeleted
- no output on deleted filesforce
- diff even on binary filescopiesAsAdds
- if set, copied files will be shown in their entirety, not as diffs from their sourcesignoreProps
- don't show property diffspropsOnly
- 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 ClientExceptionDisplay the differences between two paths.- Parameters:
target
- path or urlpegRevision
- revision tointerpret targetstartRevision
- first Revision to compareendRevision
- second Revision to comparerelativeToDir
- index path is relative to this pathoutFileName
- file name where difference are writtendepth
- how deep to traverse into subdirectorieschangelists
- if non-null, filter paths using changelistsignoreAncestry
- ignore if files are not relatednoDiffDeleted
- no output on deleted filesforce
- diff even on binary filescopiesAsAdds
- if set, copied files will be shown in their entirety, not as diffs from their sourcesignoreProps
- don't show property diffspropsOnly
- 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 ClientExceptionProduce a diff summary which lists the items changed between path and revision pairs.- Parameters:
target1
- Path or URL.revision1
- Revision oftarget1
.target2
- Path or URL.revision2
- Revision oftarget2
.depth
- how deep to recurse.changelists
- if non-null, filter paths using changelistsignoreAncestry
- Whether to ignore unrelated files during comparison. False positives may potentially be reported if this parameterfalse
, 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 ClientExceptionProduce a diff summary which lists the items changed between path and revision pairs.- Parameters:
target
- Path or URL.pegRevision
- Revision at which to interprettarget
. IfRevision.UNSPECIFIED
ornull
, behave identically todiffSummarize(String, Revision, String, Revision, Depth, Collection, boolean, DiffSummaryCallback)
, usingpath
for both of that method's targets.startRevision
- Beginning of range for comparison oftarget
.endRevision
- End of range for comparison oftarget
.depth
- how deep to recurse.changelists
- if non-null, filter paths using changelistsignoreAncestry
- Whether to ignore unrelated files during comparison. False positives may potentially be reported if this parameterfalse
, 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 ClientExceptionRetrieves the properties of an item- Parameters:
path
- the path of the itemrevision
- the revision of the itempegRevision
- the revision to interpret pathdepth
- the depth to recurse into subdirectorieschangelists
- changelists to filter bycallback
- 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 ClientExceptionRetrieves the properties of an item, including inherited properties.- Parameters:
path
- the path of the itemrevision
- the revision of the itempegRevision
- the revision to interpret pathdepth
- the depth to recurse into subdirectorieschangelists
- changelists to filter bycallback
- 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 ClientExceptionSets one property of an item with a String value- Parameters:
paths
- paths of the itemsname
- name of the propertyvalue
- new value of the property. Set value tonull
to delete a propertydepth
- the depth to recurse into subdirectorieschangelists
- changelists to filter byforce
- 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 ClientExceptionSets one property of an item with a String value- Parameters:
paths
- paths of the itemsname
- name of the propertyvalue
- new value of the property. Set value tonull
to delete a propertydepth
- the depth to recurse into subdirectorieschangelists
- changelists to filter byforce
- do not check if the value is validrevpropTable
- A string-to-string mapping of revision properties to values which will be set if this operation results in a commit.- Throws:
ClientException
-
revProperty
Retrieve one revsision property of one item- Parameters:
path
- path of the itemname
- name of the propertyrev
- revision to retrieve- Returns:
- the Property
- Throws:
ClientException
-
revProperties
Retrieve all revsision properties of one item- Parameters:
path
- path of the itemrev
- revision to retrieve- Returns:
- the Properties
- Throws:
ClientException
-
setRevProperty
void setRevProperty(String path, String name, Revision rev, String value, String originalValue, boolean force) throws ClientExceptionset one revsision property of one item- Parameters:
path
- path of the itemname
- name of the propertyrev
- revision to retrievevalue
- value of the propertyoriginalValue
- 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 ClientExceptionRetrieve one property of one item- Parameters:
path
- path of the itemname
- name of propertyrevision
- revision of the itempegRevision
- 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
Retrieve the content of a file Always expands keywords and never returns properties.- Parameters:
path
- the path of the filerevision
- the revision to retrievepegRevision
- 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 ClientExceptionWrite 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 filerevision
- the revision to retrievepegRevision
- the revision at which to interpret the pathstream
- the stream to write the file's content toreturnProps
- 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), otherwisenull
. - Throws:
ClientException
- Since:
- 1.9
- See Also:
PipedOutputStream
,PipedInputStream
-
streamFileContent
void streamFileContent(String path, Revision revision, Revision pegRevision, OutputStream stream) throws ClientExceptionWrite 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 filerevision
- the revision to retrievepegRevision
- the revision at which to interpret the pathstream
- the stream to write the file's content to- Throws:
ClientException
- See Also:
PipedOutputStream
,PipedInputStream
-
relocate
Rewrite the url's in the working copy- Parameters:
from
- old urlto
- new urlpath
- working copy pathignoreExternals
- if externals are ignored during relocate- Throws:
ClientException
-
blame
void blame(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, DiffOptions options, BlameRangeCallback rangeCallback, BlameLineCallback lineCallback) throws ClientExceptionRetrieve the content together with the author, the revision and the date of the last change of each line.- Parameters:
path
- the pathpegRevision
- the revision to interpret the pathrevisionStart
- the first revision to showrevisionEnd
- the last revision to showignoreMimeType
- whether or not to ignore the mime-typeincludeMergedRevisions
- whether or not to include extra merge informationoptions
- additional options for controlling the outputrangeCallback
- receives the resolved revision range; called exactly once before #lineCallbacklineCallback
- callback to receive the file content and the other information for every line in the file- Throws:
ClientException
- Since:
- 1.12
-
blame
@Deprecated void blame(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, BlameCallback callback, DiffOptions options) throws ClientExceptionDeprecated.Use the 1.12 version with BlameLineCallbackRetrieve the content together with the author, the revision and the date of the last change of each lineBehaves like the 1.12 version but uses BlameCallback instead of BlameLineCallback. The former expects that file contents can be converted from UTF-8 to a String, which is not true in general and may throw exceptions.
- Throws:
ClientException
-
blame
@Deprecated void blame(String path, Revision pegRevision, Revision revisionStart, Revision revisionEnd, boolean ignoreMimeType, boolean includeMergedRevisions, BlameCallback callback) throws ClientExceptionDeprecated.Use the 1.12 version with BlameLineCallbackRetrieve the content together with the author, the revision and the date of the last change of each lineBehaves like the 1.9 version with
options
set to their default values.- Throws:
ClientException
-
setConfigDirectory
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, ornull
for the platform's default.- Throws:
ClientException
-
getConfigDirectory
Get the configuration directory- Returns:
- the directory
- Throws:
ClientException
-
setConfigEventHandler
Set an event handler that will be called every time the configuration is loaded by this client object.- Throws:
ClientException
-
getConfigEventHandler
Return a reference to the installed configuration event handler. The returned value may benull
.- Throws:
ClientException
-
cancelOperation
cancel the active operation- Throws:
ClientException
-
addToChangelist
void addToChangelist(Set<String> paths, String changelist, Depth depth, Collection<String> changelists) throws ClientExceptionAdd paths to a changelist- Parameters:
paths
- paths to add to the changelistchangelist
- changelist namedepth
- the depth to recursechangelists
- changelists to filter by- Throws:
ClientException
-
removeFromChangelists
void removeFromChangelists(Set<String> paths, Depth depth, Collection<String> changelists) throws ClientExceptionRemove paths from a changelist- Parameters:
paths
- paths to remove from the changelistdepth
- the depth to recursechangelists
- changelists to filter by- Throws:
ClientException
-
getChangelists
void getChangelists(String rootPath, Collection<String> changelists, Depth depth, ChangelistCallback callback) throws ClientExceptionRecursively get the paths which belong to a changelist- Parameters:
rootPath
- the wc path under which to checkchangelists
- the changelists to look under; ifnull
, all changelists will be considered.depth
- the depth to recursecallback
- the callback to return the changelists through- Throws:
ClientException
-
lock
Lock a working copy item- Parameters:
path
- path of the itemcomment
-force
- break an existing lock- Throws:
ClientException
-
unlock
Unlock a working copy item- Parameters:
path
- path of the itemforce
- 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 ClientExceptionInvokecallback
to return informationpathOrUrl
inrevision
. The information returned is system-generated metadata, not the sort of "property" metadata created by users.If both revision arguments are either
null
orRevision.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 inpegRevision
. IfpegRevision
isRevision.START
, then it defaults toRevision.HEAD
for URLs orRevision.WORKING
for WC targets.If
pathOrUrl
is not a local path, then ifrevision
isRevision.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 todepth
.- Parameters:
pathOrUrl
- the path or the url of the itemrevision
- the revision of the item to returnpegRevision
- the revision to interpret pathOrUrldepth
- the depth to recursefetchExcluded
- whentrue
, retrieve information about nodes that are excluded from the working copyfetchActualOnly
- whentrue
, retrieve information about node that are not versioned, but are still tree conflicted.includeExternals
- Recurs into externals directorieschangelists
- if non-null, filter paths using changelistscallback
- 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 ClientExceptionRetrieve information about repository or working copy items.Behaves like the 1.9 version, with
fetchExcluded
set tofalse
,fetchActualOnly
set totrue
anfincludeExternals
set tofalse
.- Throws:
ClientException
-
getVersionInfo
Produce a compact "version number" for a working copy- Parameters:
path
- path of the working copytrailUrl
- to detect switches of the whole working copylastChanged
- last changed rather than current revisions- Returns:
- the compact "version number"
- Throws:
ClientException
-
upgrade
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 ClientExceptionApply a unidiff patch.- Parameters:
patchPath
- the path of the patchtargetPath
- the path to be patcheddryRun
- whether to actually modify the local contentstripCount
- how many leading path components should be removedreverse
- whether to reverse the patchignoreWhitespace
- whether to ignore whitespaceremoveTempfiles
- whether to remove temp filescallback
- 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 ClientExceptionRecursively vacuum a working copy, removing unnecessary data.This method will report an error when
removeUnversionedItems
orremoveIgnoredItems
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
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 redirectedSubversionException
- If an URL redirect cycle was detectedClientException
- Since:
- 1.9
-
openRemoteSession
ISVNRemote openRemoteSession(String pathOrUrl, int retryAttempts) throws ClientException, SubversionExceptionOpen 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
- IfretryAttempts
is not positiveremote.RetryOpenSession
- If the session URL was redirectedSubversionException
- If an URL redirect cycle was detectedClientException
- Since:
- 1.9
-