org.tmatesoft.svn.core.wc
Class SVNWCClient

java.lang.Object
  extended by org.tmatesoft.svn.core.wc.SVNBasicClient
      extended by org.tmatesoft.svn.core.wc.SVNWCClient

public class SVNWCClient
extends SVNBasicClient

The SVNWCClient class combines a number of version control operations mainly intended for local work with Working Copy items. This class includes those operations that are destined only for local work on a Working Copy as well as those that are moreover able to access a repository.

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

SVNKit Subversion
doAdd() 'svn add'
doGetFileContents() 'svn cat'
doDelete() 'svn delete'
doCleanup() 'svn cleanup'
doInfo() 'svn info'
doLock() 'svn lock'
doUnlock() 'svn unlock'
doSetProperty() 'svn propset PROPNAME PROPVAL PATH'
'svn propdel PROPNAME PATH'
'svn propedit PROPNAME PATH'
doSetRevisionProperty() 'svn propset PROPNAME --revprop -r REV PROPVAL [URL]'
'svn propdel PROPNAME --revprop -r REV [URL]'
'svn propedit PROPNAME --revprop -r REV [URL]'
doGetProperty() 'svn propget PROPNAME PATH'
'svn proplist PATH'
doGetRevisionProperty() 'svn propget PROPNAME --revprop -r REV [URL]'
'svn proplist --revprop -r REV [URL]'
doResolve() 'svn resolved'
doRevert() 'svn revert'

Since:
1.2
See Also:
Examples

Field Summary
static ISVNAddParameters DEFAULT_ADD_PARAMETERS
          Default implementation of ISVNAddParameters which onInconsistentEOLs(File file) always returns the ISVNAddParameters.REPORT_ERROR action.
 
Constructor Summary
SVNWCClient(ISVNAuthenticationManager authManager, ISVNOptions options)
          Constructs and initializes an SVNWCClient object with the specified run-time configuration and authentication drivers.
SVNWCClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)
          Constructs and initializes an SVNWCClient object with the specified run-time configuration and repository pool object.
 
Method Summary
 void doAdd(java.io.File[] paths, boolean force, boolean mkdir, boolean climbUnversionedParents, SVNDepth depth, boolean depthIsSticky, boolean includeIgnored, boolean makeParents)
          Schedules working copy paths for addition to the repository.
 void doAdd(java.io.File path, boolean force, boolean mkdir, boolean climbUnversionedParents, boolean recursive)
          Deprecated. use doAdd(File, boolean, boolean, boolean, SVNDepth, boolean, boolean) instead
 void doAdd(java.io.File path, boolean force, boolean mkdir, boolean climbUnversionedParents, boolean recursive, boolean includeIgnored)
          Deprecated. use doAdd(File, boolean, boolean, boolean, SVNDepth, boolean, boolean) instead
 void doAdd(java.io.File path, boolean force, boolean mkdir, boolean climbUnversionedParents, SVNDepth depth, boolean includeIgnored, boolean makeParents)
          Schedules a working copy path for addition to the repository.
 void doAdd(java.io.File path, boolean force, boolean mkdir, boolean climbUnversionedParents, SVNDepth depth, boolean depthIsSticky, boolean includeIgnored, boolean makeParents)
          Schedules a working copy path for addition to the repository.
 void doCleanup(java.io.File path)
          Cleans up a working copy.
 void doCleanup(java.io.File path, boolean deleteWCProperties)
          Recursively cleans up the working copy, removing locks and resuming unfinished operations.
 void doCleanupWCProperties(java.io.File directory)
          Recursively removes all DAV-specific "svn:wc:" properties from the directory and beneath.
 void doDelete(java.io.File path, boolean force, boolean dryRun)
          Schedules a Working Copy item for deletion.
 void doDelete(java.io.File path, boolean force, boolean deleteFiles, boolean dryRun)
          Schedules a Working Copy item for deletion.
 void doGetFileContents(java.io.File path, SVNRevision pegRevision, SVNRevision revision, boolean expandKeywords, java.io.OutputStream dst)
          Outputs the content of file identified by path and revision to the stream dst.
 void doGetFileContents(SVNURL url, SVNRevision pegRevision, SVNRevision revision, boolean expandKeywords, java.io.OutputStream dst)
          Outputs the content of file identified by url and revision to the stream dst.
 SVNPropertyData doGetProperty(java.io.File path, java.lang.String propName, SVNRevision pegRevision, SVNRevision revision)
          Gets the value of the property propName for path.
 void doGetProperty(java.io.File path, java.lang.String propName, SVNRevision pegRevision, SVNRevision revision, boolean recursive, ISVNPropertyHandler handler)
          Deprecated. use doGetProperty(File, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler, Collection) instead
 void doGetProperty(java.io.File path, java.lang.String propName, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, ISVNPropertyHandler handler, java.util.Collection<java.lang.String> changeLists)
          Invokes handler on paths covered by depth starting with the specified path.
 SVNPropertyData doGetProperty(SVNURL url, java.lang.String propName, SVNRevision pegRevision, SVNRevision revision)
          Gets the value of the property propName for url .
 void doGetProperty(SVNURL url, java.lang.String propName, SVNRevision pegRevision, SVNRevision revision, boolean recursive, ISVNPropertyHandler handler)
          Deprecated. use doGetProperty(SVNURL, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler) instead
 void doGetProperty(SVNURL url, java.lang.String propName, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, ISVNPropertyHandler handler)
          Invokes handler on paths covered by depth starting with the specified path.
 long doGetRevisionProperty(java.io.File path, java.lang.String propName, SVNRevision revision, ISVNPropertyHandler handler)
          Gets an unversioned revision property from a repository (getting a repository URL from a Working Copy) and passes it to a provided property handler.
 long doGetRevisionProperty(SVNURL url, java.lang.String propName, SVNRevision revision, ISVNPropertyHandler handler)
          Gets an unversioned revision property from a repository and passes it to a provided property handler.
 java.lang.String doGetWorkingCopyID(java.io.File path, java.lang.String trailURL)
          Returns the current Working Copy min- and max- revisions as well as changes and switch status within a single string.
 java.lang.String doGetWorkingCopyID(java.io.File path, java.lang.String trailURL, boolean committed)
          Returns the current Working Copy min- and max- revisions as well as changes and switch status within a single string.
 SVNInfo doInfo(java.io.File path, SVNRevision revision)
          Collects and returns information on a single Working Copy item.
 void doInfo(java.io.File path, SVNRevision revision, boolean recursive, ISVNInfoHandler handler)
          Deprecated. use doInfo(File, SVNRevision, SVNRevision, SVNDepth, Collection, ISVNInfoHandler) instead
 void doInfo(java.io.File path, SVNRevision pegRevision, SVNRevision revision, boolean recursive, ISVNInfoHandler handler)
          Deprecated. use doInfo(File, SVNRevision, SVNRevision, SVNDepth, Collection, ISVNInfoHandler) instead
 void doInfo(java.io.File path, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, java.util.Collection<java.lang.String> changeLists, ISVNInfoHandler handler)
          Invokes handler to return information about path in revision.
 SVNInfo doInfo(SVNURL url, SVNRevision pegRevision, SVNRevision revision)
          Collects and returns information on a single item in a repository.
 void doInfo(SVNURL url, SVNRevision pegRevision, SVNRevision revision, boolean recursive, ISVNInfoHandler handler)
          Deprecated. use doInfo(SVNURL, SVNRevision, SVNRevision, SVNDepth, ISVNInfoHandler) instead
 void doInfo(SVNURL url, SVNRevision pegRevision, SVNRevision revision, SVNDepth depth, ISVNInfoHandler handler)
          Invokes handler to return information about url in revision.
 void doLock(java.io.File[] paths, boolean stealLock, java.lang.String lockMessage)
          Locks file items in a Working Copy as well as in a repository so that no other user can commit changes to them.
 void doLock(SVNURL[] urls, boolean stealLock, java.lang.String lockMessage)
          Locks file items in a repository so that no other user can commit changes to them.
 void doMarkReplaced(java.io.File path)
          Schedules path as being replaced.
 void doResolve(java.io.File path, boolean recursive)
          Deprecated. use doResolve(File, SVNDepth, SVNConflictChoice) instead
 void doResolve(java.io.File path, SVNDepth depth, boolean resolveContents, boolean resolveProperties, boolean resolveTree, SVNConflictChoice conflictChoice)
          Performs automatic conflict resolution on a working copy path.
 void doResolve(java.io.File path, SVNDepth depth, boolean resolveContents, boolean resolveProperties, SVNConflictChoice conflictChoice)
          Performs automatic conflict resolution on a working copy path.
 void doResolve(java.io.File path, SVNDepth depth, SVNConflictChoice conflictChoice)
          Performs automatic conflict resolution on a working copy path.
 void doRevert(java.io.File[] paths, boolean recursive)
          Deprecated. use doRevert(File[], SVNDepth, Collection) instead
 void doRevert(java.io.File[] paths, SVNDepth depth, java.util.Collection<java.lang.String> changeLists)
          Restores the pristine version of working copy paths, effectively undoing any local mods.
 void doRevert(java.io.File path, boolean recursive)
          Deprecated. use doRevert(File[], SVNDepth, Collection)
 void doSetProperty(java.io.File path, ISVNPropertyValueProvider propertyValueProvider, boolean skipChecks, SVNDepth depth, ISVNPropertyHandler handler, java.util.Collection<java.lang.String> changeLists)
          Crawls the working copy at path and calls ISVNPropertyValueProvider.providePropertyValues(java.io.File, org.tmatesoft.svn.core.SVNProperties) to get properties to be change on each path being traversed

If depth is SVNDepth.EMPTY, change the properties on path only; if SVNDepth.FILES, change the properties on path and its file children (if any); if SVNDepth.IMMEDIATES, on path and all of its immediate children (both files and directories); if SVNDepth.INFINITY, on path and everything beneath it.

 void doSetProperty(java.io.File path, java.lang.String propName, SVNPropertyValue propValue, boolean force, boolean recursive, ISVNPropertyHandler handler)
          Deprecated. use doSetProperty(File, String, SVNPropertyValue, boolean, SVNDepth, ISVNPropertyHandler, Collection) instead
 void doSetProperty(java.io.File path, java.lang.String propName, SVNPropertyValue propValue, boolean skipChecks, SVNDepth depth, ISVNPropertyHandler handler, java.util.Collection<java.lang.String> changeLists)
          Sets propName to propValue on path .
 SVNCommitInfo doSetProperty(SVNURL url, java.lang.String propName, SVNPropertyValue propValue, SVNRevision baseRevision, java.lang.String commitMessage, SVNProperties revisionProperties, boolean skipChecks, ISVNPropertyHandler handler)
          Sets propName to propValue on path .
 void doSetRevisionProperty(java.io.File path, SVNRevision revision, java.lang.String propName, SVNPropertyValue propValue, boolean force, ISVNPropertyHandler handler)
          Set propName to propValue on revision revision in the repository represented by path.
 void doSetRevisionProperty(SVNURL url, SVNRevision revision, java.lang.String propName, SVNPropertyValue propValue, boolean force, ISVNPropertyHandler handler)
          Set propName to propValue on revision revision in the repository represented by path.
 void doSetWCFormat(java.io.File directory, int format)
          Changes working copy format.
 void doUnlock(java.io.File[] paths, boolean breakLock)
          Unlocks file items in a Working Copy as well as in a repository.
 void doUnlock(SVNURL[] urls, boolean breakLock)
          Unlocks file items in a repository.
 ISVNCommitHandler getCommitHandler()
          Returns the specified commit handler (if set) being in use or a default one (DefaultSVNCommitHandler) if no special implementations of ISVNCommitHandler were previousely provided.
 boolean isRevertMissingDirectories()
           
 void setAddParameters(ISVNAddParameters addParameters)
          Sets custom add parameters to this client object.
 void setCommitHandler(ISVNCommitHandler handler)
          Sets an implementation of ISVNCommitHandler to the commit handler that will be used during commit operations to handle commit log messages.
 void setRevertMissingDirectories(boolean revertMissing)
           
 
Methods inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient
dontWC17Support, getDebugLog, getOperationsFactory, getOptions, getPathListHandler, getReposRoot, getReposRoot, isIgnoreExternals, isLeaveConflictsUnresolved, isWC17Supported, setDebugLog, setEventHandler, setEventPathPrefix, setIgnoreExternals, setLeaveConflictsUnresolved, setOptions, setPathListHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_ADD_PARAMETERS

public static ISVNAddParameters DEFAULT_ADD_PARAMETERS
Default implementation of ISVNAddParameters which onInconsistentEOLs(File file) always returns the ISVNAddParameters.REPORT_ERROR action.

Since:
1.2
Constructor Detail

SVNWCClient

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

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

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

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

SVNWCClient

public SVNWCClient(ISVNRepositoryPool repositoryPool,
                   ISVNOptions options)
Constructs and initializes an SVNWCClient object with the specified run-time configuration and repository pool object.

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

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

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

setAddParameters

public void setAddParameters(ISVNAddParameters addParameters)
Sets custom add parameters to this client object.

Parameters:
addParameters - extra parameters for add operations
Since:
1.2

getCommitHandler

public ISVNCommitHandler getCommitHandler()
Returns the specified commit handler (if set) being in use or a default one (DefaultSVNCommitHandler) if no special implementations of ISVNCommitHandler were previousely provided.

Returns:
the commit handler being in use or a default one
See Also:
setCommitHandler(ISVNCommitHandler), DefaultSVNCommitHandler

setCommitHandler

public void setCommitHandler(ISVNCommitHandler handler)
Sets an implementation of ISVNCommitHandler to the commit handler that will be used during commit operations to handle commit log messages. The handler will receive a clien's log message and items (represented as SVNCommitItem objects) that will be committed. Depending on implementor's aims the initial log message can be modified (or something else) and returned back.

If using SVNWCClient without specifying any commit handler then a default one will be used - DefaultSVNCommitHandler.

Parameters:
handler - an implementor's handler that will be used to handle commit log messages
See Also:
getCommitHandler(), ISVNCommitHandler

setRevertMissingDirectories

public void setRevertMissingDirectories(boolean revertMissing)

isRevertMissingDirectories

public boolean isRevertMissingDirectories()

doGetFileContents

public void doGetFileContents(java.io.File path,
                              SVNRevision pegRevision,
                              SVNRevision revision,
                              boolean expandKeywords,
                              java.io.OutputStream dst)
                       throws SVNException
Outputs the content of file identified by path and revision to the stream dst. The actual node revision selected is determined by the path as it exists in pegRevision. If pegRevision is SVNRevision.UNDEFINED, then it defaults to SVNRevision.WORKING.

If revision is one of:

then the file contents are taken from the working copy file item (no network connection is needed). Otherwise the file item's contents are taken from the repository at a particular revision.

Parameters:
path - working copy path
pegRevision - revision in which the file item is first looked up
revision - target revision
expandKeywords - if true then all keywords presenting in the file and listed in the file's SVNProperty.KEYWORDS property (if set) will be substituted, otherwise not
dst - the destination where the file contents will be written to
Throws:
SVNException - if one of the following is true:
  • path refers to a directory
  • path does not exist
  • path is not under version control
See Also:
doGetFileContents(SVNURL,SVNRevision,SVNRevision,boolean,OutputStream)

doGetFileContents

public void doGetFileContents(SVNURL url,
                              SVNRevision pegRevision,
                              SVNRevision revision,
                              boolean expandKeywords,
                              java.io.OutputStream dst)
                       throws SVNException
Outputs the content of file identified by url and revision to the stream dst. The actual node revision selected is determined by the path as it exists in pegRevision. If pegRevision is SVNRevision.UNDEFINED, then it defaults to SVNRevision.HEAD.

Parameters:
url - a file item's repository location
pegRevision - a revision in which the file item is first looked up
revision - a target revision
expandKeywords - if true then all keywords presenting in the file and listed in the file's SVNProperty.KEYWORDS property (if set) will be substituted, otherwise not
dst - the destination where the file contents will be written to
Throws:
SVNException - if one of the following is true:
  • url refers to a directory
  • it's impossible to create temporary files ( createTempFile() fails) necessary for file translating
See Also:
doGetFileContents(File,SVNRevision,SVNRevision,boolean,OutputStream)

doCleanup

public void doCleanup(java.io.File path)
               throws SVNException
Cleans up a working copy. This method is equivalent to a call to doCleanup(path, false).

Parameters:
path - a WC path to start a cleanup from
Throws:
SVNException - if one of the following is true:
  • path does not exist
  • path's parent directory is not under version control
See Also:
doCleanup(File, boolean)

doCleanup

public void doCleanup(java.io.File path,
                      boolean deleteWCProperties)
               throws SVNException
Recursively cleans up the working copy, removing locks and resuming unfinished operations.

If you ever get a "working copy locked" error, use this method to remove stale locks and get your working copy into a usable state again.

This method operates only on working copies and does not open any network connection.

Parameters:
path - a WC path to start a cleanup from
deleteWCProperties - if true, removes DAV specific "svn:wc:" properties from the working copy
Throws:
SVNException - if one of the following is true:
  • path does not exist
  • path's parent directory is not under version control

doSetProperty

public void doSetProperty(java.io.File path,
                          java.lang.String propName,
                          SVNPropertyValue propValue,
                          boolean skipChecks,
                          SVNDepth depth,
                          ISVNPropertyHandler handler,
                          java.util.Collection<java.lang.String> changeLists)
                   throws SVNException
Sets propName to propValue on path . A propValue of null will delete the property.

If depth is SVNDepth.EMPTY, set the property on path only; if SVNDepth.FILES, set it on path and its file children (if any); if SVNDepth.IMMEDIATES, on path and all of its immediate children (both files and directories); if SVNDepth.INFINITY, on path and everything beneath it.

If propName is an svn-controlled property (i.e. prefixed with "svn:"), then the caller is responsible for ensuring that the value uses LF line-endings.

If skipChecks is true, this method does no validity checking. But if skipChecks is false, and propName is not a valid property for path, it throws an exception, either with an error code SVNErrorCode.ILLEGAL_TARGET (if the property is not appropriate for path), or with SVNErrorCode.BAD_MIME_TYPE (if propName is "svn:mime-type", but propVal is not a valid mime-type).

changeLists is a collection of String changelist names, used as a restrictive filter on items whose properties are set; that is, don't set properties on any item unless it's a member of one of those changelists. If changelists is empty (or null), no changelist filtering occurs.

This method operates only on working copies and does not open any network connection.

Parameters:
path - working copy path
propName - property name
propValue - property value
skipChecks - true to force the operation to run without validity checking
depth - working copy tree depth to process
handler - a caller's property handler
changeLists - changelist names
Throws:
SVNException -
  • path does not exist
  • exception with SVNErrorCode.CLIENT_PROPERTY_NAME error code - if propName is a revision property name or not a valid property name or not a regular property name (one starting with a "svn:entry" or "svn:wc" prefix)
Since:
1.2, SVN 1.5
See Also:
doSetProperty(SVNURL, String, SVNPropertyValue, SVNRevision, String, SVNProperties, boolean, ISVNPropertyHandler)

doSetProperty

public void doSetProperty(java.io.File path,
                          ISVNPropertyValueProvider propertyValueProvider,
                          boolean skipChecks,
                          SVNDepth depth,
                          ISVNPropertyHandler handler,
                          java.util.Collection<java.lang.String> changeLists)
                   throws SVNException
Crawls the working copy at path and calls ISVNPropertyValueProvider.providePropertyValues(java.io.File, org.tmatesoft.svn.core.SVNProperties) to get properties to be change on each path being traversed

If depth is SVNDepth.EMPTY, change the properties on path only; if SVNDepth.FILES, change the properties on path and its file children (if any); if SVNDepth.IMMEDIATES, on path and all of its immediate children (both files and directories); if SVNDepth.INFINITY, on path and everything beneath it.

If skipChecks is true, this method does no validity checking of changed properties. But if skipChecks is false, and changed property name is not a valid property for path, it throws an exception, either with an error code SVNErrorCode.ILLEGAL_TARGET (if the property is not appropriate for path), or with SVNErrorCode.BAD_MIME_TYPE (if changed propery name is "svn:mime-type", but changed property value is not a valid mime-type).

changeLists is a collection of String changelist names, used as a restrictive filter on items whose properties are set; that is, don't set properties on any item unless it's a member of one of those changelists. If changelists is empty (or null), no changelist filtering occurs.

This method operates only on working copies and does not open any network connection.

Parameters:
path - working copy path
propertyValueProvider - changed properties provider
skipChecks - true to force the operation to run without validity checking
depth - working copy tree depth to process
handler - a caller's property handler
changeLists - changelist names
Throws:
SVNException -
  • path does not exist
  • exception with SVNErrorCode.CLIENT_PROPERTY_NAME error code - if changed property name is a revision property name or not a valid property name or not a regular property name (one starting with a "svn:entry" or "svn:wc" prefix)
Since:
1.2, SVN 1.5
See Also:
doSetProperty(java.io.File, String, org.tmatesoft.svn.core.SVNPropertyValue, boolean, org.tmatesoft.svn.core.SVNDepth, ISVNPropertyHandler, java.util.Collection)

doSetProperty

public SVNCommitInfo doSetProperty(SVNURL url,
                                   java.lang.String propName,
                                   SVNPropertyValue propValue,
                                   SVNRevision baseRevision,
                                   java.lang.String commitMessage,
                                   SVNProperties revisionProperties,
                                   boolean skipChecks,
                                   ISVNPropertyHandler handler)
                            throws SVNException
Sets propName to propValue on path . A propValue of null will delete the property.

baseRevision must not be null; in this case, the property will only be set if it has not changed since baseRevision.

The authentication manager and commit handler, either provided by a caller or default ones, will be used to immediately attempt to commit the property change in the repository.

If propName is an svn-controlled property (i.e. prefixed with "svn:"), then the caller is responsible for ensuring that the value uses LF line-endings.

If skipChecks is true, this method does no validity checking. But if skipChecks is false, and propName is not a valid property for path, it throws an exception, either with an error code SVNErrorCode.ILLEGAL_TARGET (if the property is not appropriate for path), or with SVNErrorCode.BAD_MIME_TYPE (if propName is "svn:mime-type", but propVal is not a valid mime-type).

If non-null, revisionProperties is an SVNProperties object holding additional, custom revision properties (String names mapped to String values) to be set on the new revision in the event that this is a committing operation. This table cannot contain any standard Subversion properties.

Parameters:
url - versioned item url
propName - property name
propValue - property value
baseRevision - revision to change properties against
commitMessage - commit log message
revisionProperties - custom revision properties to set
skipChecks - true to force the operation to run without validity checking
handler - a caller's property handler
Returns:
commit information if the commit succeeds
Throws:
SVNException -
Since:
1.2, SVN 1.5
See Also:
doSetProperty(File, String, SVNPropertyValue, boolean, SVNDepth, ISVNPropertyHandler, Collection)

doSetRevisionProperty

public void doSetRevisionProperty(java.io.File path,
                                  SVNRevision revision,
                                  java.lang.String propName,
                                  SVNPropertyValue propValue,
                                  boolean force,
                                  ISVNPropertyHandler handler)
                           throws SVNException
Set propName to propValue on revision revision in the repository represented by path.

This method simply obtains a url given a working path and calls doSetRevisionProperty(SVNURL, SVNRevision, String, SVNPropertyValue, boolean, ISVNPropertyHandler) passing this url and the rest parameters.

Parameters:
path - working copy path
revision - revision which properties are to be modified
propName - property name
propValue - property value
force - if true allows newlines in the author property
handler - caller's property handler
Throws:
SVNException - if one of the following is true:

doSetRevisionProperty

public void doSetRevisionProperty(SVNURL url,
                                  SVNRevision revision,
                                  java.lang.String propName,
                                  SVNPropertyValue propValue,
                                  boolean force,
                                  ISVNPropertyHandler handler)
                           throws SVNException
Set propName to propValue on revision revision in the repository represented by path. A propValue of null will delete the property. The authentication manager, either provided by a caller or a default one, will be used for authentication.

If propName is an svn-controlled property (i.e. prefixed with "svn:"), then the caller is responsible for ensuring that the value is UTF8-encoded and uses LF line-endings.

Although this routine accepts a working copy path it doesn't affect the working copy at all; it's a pure network operation that changes an *unversioned* property attached to a revision. This can be used to tweak log messages, dates, authors, and the like. Be careful: it's a lossy operation.

Also note that unless the administrator creates a pre-revprop-change hook in the repository, this feature will fail.

Parameters:
url - repository URL
revision - revision which properties are to be modified
propName - property name
propValue - property value
force - if true allows newlines in the author property
handler - caller's property handler
Throws:
SVNException - if one of the following is true:
  • the operation can not be performed without forcing
  • propName is either invalid or not a regular property name (one starting with an "svn:entry" or "svn:wc" prefix)
See Also:
doSetRevisionProperty(File, SVNRevision, String, SVNPropertyValue, boolean, ISVNPropertyHandler)

doGetProperty

public SVNPropertyData doGetProperty(java.io.File path,
                                     java.lang.String propName,
                                     SVNRevision pegRevision,
                                     SVNRevision revision)
                              throws SVNException
Gets the value of the property propName for path. This method simply creates an implementation of ISVNPropertyHandler which stores the value only for path which is then used in the following call to doGetProperty(path, propName, pegRevision, revision, SVNDepth.EMPTY, handler, null) .

Parameters:
path - a WC item's path
propName - an item's property name; if it's null then all the item's properties will be retrieved but only the first of them returned
pegRevision - a revision in which the item is first looked up
revision - a target revision;
Returns:
the item's property
Throws:
SVNException - if one of the following is true:
  • propName starts with the svn:wc: prefix
  • path is not under version control
See Also:
doGetProperty(File, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler, Collection)

doGetProperty

public SVNPropertyData doGetProperty(SVNURL url,
                                     java.lang.String propName,
                                     SVNRevision pegRevision,
                                     SVNRevision revision)
                              throws SVNException
Gets the value of the property propName for url . This method simply creates an implementation of ISVNPropertyHandler which stores the value only for path which is then used in the following call to doGetProperty(url, propName, pegRevision, revision, SVNDepth.EMPTY, handler) .

Parameters:
url - an item's repository location
propName - an item's property name; if it's null then all the item's properties will be retrieved but only the first of them returned
pegRevision - a revision in which the item is first looked up
revision - a target revision;
Returns:
the item's property
Throws:
SVNException - if one of the following is true:
  • propName starts with the svn:wc: prefix
  • path is not under version control
See Also:
doGetProperty(SVNURL, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler)

doGetProperty

public void doGetProperty(java.io.File path,
                          java.lang.String propName,
                          SVNRevision pegRevision,
                          SVNRevision revision,
                          boolean recursive,
                          ISVNPropertyHandler handler)
                   throws SVNException
Deprecated. use doGetProperty(File, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler, Collection) instead

Gets an item's versioned property and passes it to a provided property handler. It's possible to get either a local property (from a Working Copy) or a remote one (located in a repository). If revision is one of: then the result is a WC item's property. Otherwise the property is taken from a repository (using the item's URL).

Parameters:
path - a WC item's path
propName - an item's property name; if it's null then all the item's properties will be retrieved and passed to handler for processing
pegRevision - a revision in which the item is first looked up
revision - a target revision;
recursive - true to descend recursively
handler - a caller's property handler
Throws:
SVNException - if one of the following is true:
  • propName starts with the svn:wc: prefix
  • path is not under version control

doGetProperty

public void doGetProperty(java.io.File path,
                          java.lang.String propName,
                          SVNRevision pegRevision,
                          SVNRevision revision,
                          SVNDepth depth,
                          ISVNPropertyHandler handler,
                          java.util.Collection<java.lang.String> changeLists)
                   throws SVNException
Invokes handler on paths covered by depth starting with the specified path.

If both revision and pegRevision are ones of:

then this method gets properties from the working copy without connecting to the repository. Otherwise properties are taken from the repository (using the item's URL).

The actual node revision selected is determined by the path as it exists in pegRevision. If pegRevision is SVNRevision.UNDEFINED, then it defaults to SVNRevision.WORKING.

If depth is SVNDepth.EMPTY, fetch the property from path only; if SVNDepth.FILES, fetch from path and its file children (if any); if SVNDepth.IMMEDIATES, from path and all of its immediate children (both files and directories); if SVNDepth.INFINITY, from path and everything beneath it.

changeLists is a collection of String changelist names, used as a restrictive filter on items whose properties are set; that is, don't set properties on any item unless it's a member of one of those changelists. If changeLists is empty (or null), no changelist filtering occurs.

Parameters:
path - a WC item's path
propName - an item's property name; if it's null then all the item's properties will be retrieved and passed to handler for processing
pegRevision - a revision in which the item is first looked up
revision - a target revision
depth - tree depth
handler - a caller's property handler
changeLists - collection of changelist names
Throws:
SVNException - if one of the following is true:
Since:
1.2, SVN 1.5

doGetProperty

public void doGetProperty(SVNURL url,
                          java.lang.String propName,
                          SVNRevision pegRevision,
                          SVNRevision revision,
                          boolean recursive,
                          ISVNPropertyHandler handler)
                   throws SVNException
Deprecated. use doGetProperty(SVNURL, String, SVNRevision, SVNRevision, SVNDepth, ISVNPropertyHandler) instead

Gets an item's versioned property from a repository and passes it to a provided property handler. This method is useful when having no Working Copy at all.

Parameters:
url - an item's repository location
propName - an item's property name; if it's null then all the item's properties will be retrieved and passed to handler for processing
pegRevision - a revision in which the item is first looked up
revision - a target revision
recursive - true to descend recursively
handler - a caller's property handler
Throws:
SVNException - if propName starts with the svn:wc: prefix

doGetProperty

public void doGetProperty(SVNURL url,
                          java.lang.String propName,
                          SVNRevision pegRevision,
                          SVNRevision revision,
                          SVNDepth depth,
                          ISVNPropertyHandler handler)
                   throws SVNException
Invokes handler on paths covered by depth starting with the specified path.

If is SVNRevision.UNDEFINED then get properties from the repository head. Else get the properties as of revision. The actual node revision selected is determined by the path as it exists in pegRevision. If pegRevision is SVNRevision.UNDEFINED, then it defaults to SVNRevision.HEAD.

If depth is SVNDepth.EMPTY, fetch the property from path only; if SVNDepth.FILES, fetch from path and its file children (if any); if SVNDepth.IMMEDIATES, from path and all of its immediate children (both files and directories); if SVNDepth.INFINITY, from path and everything beneath it.

Parameters:
url - versioned item url
propName - an item's property name; if it's null then all the item's properties will be retrieved and passed to handler for processing
pegRevision - a revision in which the item is first looked up
revision - a target revision
depth - tree depth
handler - a caller's property handler
Throws:
SVNException - if one of the following is true:
Since:
1.2, SVN 1.5

doGetRevisionProperty

public long doGetRevisionProperty(java.io.File path,
                                  java.lang.String propName,
                                  SVNRevision revision,
                                  ISVNPropertyHandler handler)
                           throws SVNException
Gets an unversioned revision property from a repository (getting a repository URL from a Working Copy) and passes it to a provided property handler.

Parameters:
path - a local Working Copy item which repository location is used to connect to a repository
propName - a revision property name; if this parameter is null then all the revision properties will be retrieved and passed to handler for processing
revision - a revision which property is to be retrieved
handler - a caller's property handler
Throws:
SVNException - if one of the following is true:
  • revision is invalid
  • propName starts with the svn:wc: prefix
See Also:
doGetRevisionProperty(SVNURL,String,SVNRevision,ISVNPropertyHandler)

doGetRevisionProperty

public long doGetRevisionProperty(SVNURL url,
                                  java.lang.String propName,
                                  SVNRevision revision,
                                  ISVNPropertyHandler handler)
                           throws SVNException
Gets an unversioned revision property from a repository and passes it to a provided property handler.

Parameters:
url - a URL pointing to a repository location which revision property is to be got
propName - a revision property name; if this parameter is null then all the revision properties will be retrieved and passed to handler for processing
revision - a revision which property is to be retrieved
handler - a caller's property handler
Returns:
actual revision number to which revision is resolved
Throws:
SVNException - if one of the following is true:
  • revision is invalid
  • propName starts with the svn:wc: prefix
See Also:
doGetRevisionProperty(File,String,SVNRevision,ISVNPropertyHandler)

doDelete

public void doDelete(java.io.File path,
                     boolean force,
                     boolean dryRun)
              throws SVNException
Schedules a Working Copy item for deletion. This method is equivalent to doDelete(path, force, true, dryRun).

Parameters:
path - a WC item to be deleted
force - true to force the operation to run
dryRun - true only to try the delete operation without actual deleting
Throws:
SVNException - if one of the following is true:
  • path is not under version control
  • can not delete path without forcing
See Also:
doDelete(File,boolean,boolean,boolean)

doDelete

public void doDelete(java.io.File path,
                     boolean force,
                     boolean deleteFiles,
                     boolean dryRun)
              throws SVNException
Schedules a Working Copy item for deletion. This method allows to choose - whether file item(s) are to be deleted from the filesystem or not. Another version of the doDelete() method is similar to the corresponding SVN client's command - 'svn delete' as it always deletes files from the filesystem.

This method deletes only local working copy paths without connecting to the repository.

Parameters:
path - a WC item to be deleted
force - true to force the operation to run
deleteFiles - if true then files will be scheduled for deletion as well as deleted from the filesystem, otherwise files will be only scheduled for addition and still be present in the filesystem
dryRun - true only to try the delete operation without actual deleting
Throws:
SVNException - if one of the following is true:
  • path is not under version control
  • can not delete path without forcing

doAdd

public void doAdd(java.io.File path,
                  boolean force,
                  boolean mkdir,
                  boolean climbUnversionedParents,
                  boolean recursive)
           throws SVNException
Deprecated. use doAdd(File, boolean, boolean, boolean, SVNDepth, boolean, boolean) instead

Schedules an unversioned item for addition to a repository thus putting it under version control.

To create and add to version control a new directory, set mkdir to true.

Calling this method is equivalent to doAdd(path, force, mkdir, climbUnversionedParents, recursive, false).

Parameters:
path - a path to be put under version control (will be added to a repository in next commit)
force - when true forces the operation to run on already versioned files or directories without reporting error. When ran recursively, all unversioned files and directories in a tree will be scheduled for addition.
mkdir - if true - creates a new directory and schedules it for addition
climbUnversionedParents - if true and path is located in an unversioned parent directory then the parent will be automatically scheduled for addition, too
recursive - true to descend recursively (relevant for directories)
Throws:
SVNException - if one of the following is true:
  • path doesn't belong to a Working Copy
  • path doesn't exist and mkdir is false
  • path is the root directory of the Working Copy

doAdd

public void doAdd(java.io.File path,
                  boolean force,
                  boolean mkdir,
                  boolean climbUnversionedParents,
                  boolean recursive,
                  boolean includeIgnored)
           throws SVNException
Deprecated. use doAdd(File, boolean, boolean, boolean, SVNDepth, boolean, boolean) instead

Schedules an unversioned item for addition to a repository thus putting it under version control.

To create and add to version control a new directory, set mkdir to true.

Parameters:
path - a path to be put under version control (will be added to a repository in next commit)
force - when true forces the operation to run on already versioned files or directories without reporting error. When ran recursively, all unversioned files and directories in a tree will be scheduled for addition.
mkdir - if true - creates a new directory and schedules it for addition
climbUnversionedParents - if true and path is located in an unversioned parent directory then the parent will be automatically scheduled for addition, too
recursive - true to descend recursively (relevant for directories)
includeIgnored - controls whether ignored items must be also added
Throws:
SVNException - if one of the following is true:
  • path doesn't belong to a Working Copy
  • path doesn't exist and mkdir is false
  • path is the root directory of the Working Copy
Since:
1.1

doAdd

public void doAdd(java.io.File path,
                  boolean force,
                  boolean mkdir,
                  boolean climbUnversionedParents,
                  SVNDepth depth,
                  boolean includeIgnored,
                  boolean makeParents)
           throws SVNException
Schedules a working copy path for addition to the repository.

If depth is SVNDepth.EMPTY, adds just path and nothing below it. If SVNDepth.FILES, adds path and any file children of path. If SVNDepth.IMMEDIATES, adds path, any file children, and any immediate subdirectories (but nothing underneath those subdirectories). If SVNDepth.INFINITY, adds path and everything under it fully recursively.

path's parent must be under revision control already (unless makeParents is true), but path is not.

If force is set, path is a directory, depth is SVNDepth.INFINITY, then schedules for addition unversioned files and directories scattered deep within a versioned tree.

If includeIgnored is false, doesn't add files or directories that match ignore patterns.

If makeParents is true, recurse up path's directory and look for a versioned directory. If found, add all intermediate paths between it and path.

Important: this is a *scheduling* operation. No changes will happen to the repository until a commit occurs. This scheduling can be removed with a call to doRevert(File[], SVNDepth, Collection).

Parameters:
path - working copy path
force - if true, this method does not throw exceptions on already-versioned items
mkdir - if true, create a directory also at path
climbUnversionedParents - not used; make use of makeParents instead
depth - tree depth
includeIgnored - if true, does not apply ignore patterns to paths being added
makeParents - if true, climb upper and schedule also all unversioned paths in the way
Throws:
SVNException -

doAdd

public void doAdd(java.io.File[] paths,
                  boolean force,
                  boolean mkdir,
                  boolean climbUnversionedParents,
                  SVNDepth depth,
                  boolean depthIsSticky,
                  boolean includeIgnored,
                  boolean makeParents)
           throws SVNException
Schedules working copy paths for addition to the repository.

If depth is SVNDepth.EMPTY, adds just paths and nothing below it. If SVNDepth.FILES, adds paths and any file children of paths. If SVNDepth.IMMEDIATES, adds paths, any file children, and any immediate subdirectories (but nothing underneath those subdirectories). If SVNDepth.INFINITY, adds paths and everything under it fully recursively.

paths' parent must be under revision control already (unless makeParents is true), but paths are not.

If force is set, path is a directory, depth is SVNDepth.INFINITY, then schedules for addition unversioned files and directories scattered deep within a versioned tree.

If includeIgnored is false, doesn't add files or directories that match ignore patterns.

If makeParents is true, recurse up path's directory and look for a versioned directory. If found, add all intermediate paths between it and the path.

Important: this is a *scheduling* operation. No changes will happen to the repository until a commit occurs. This scheduling can be removed with a call to doRevert(File[], SVNDepth, Collection).

Parameters:
paths - working copy paths to add
force - if true, this method does not throw exceptions on already-versioned items
mkdir - if true, create a directory also at path
climbUnversionedParents - not used; make use of makeParents instead
depth - tree depth
depthIsSticky - if depth should be recorded to the working copy
includeIgnored - if true, does not apply ignore patterns to paths being added
makeParents - if true, climb upper and schedule also all unversioned paths in the way
Throws:
SVNException -

doAdd

public void doAdd(java.io.File path,
                  boolean force,
                  boolean mkdir,
                  boolean climbUnversionedParents,
                  SVNDepth depth,
                  boolean depthIsSticky,
                  boolean includeIgnored,
                  boolean makeParents)
           throws SVNException
Schedules a working copy path for addition to the repository.

If depth is SVNDepth.EMPTY, adds just path and nothing below it. If SVNDepth.FILES, adds path and any file children of path. If SVNDepth.IMMEDIATES, adds path, any file children, and any immediate subdirectories (but nothing underneath those subdirectories). If SVNDepth.INFINITY, adds path and everything under it fully recursively.

path's parent must be under revision control already (unless makeParents is true), but path is not.

If force is set, path is a directory, depth is SVNDepth.INFINITY, then schedules for addition unversioned files and directories scattered deep within a versioned tree.

If includeIgnored is false, doesn't add files or directories that match ignore patterns.

If makeParents is true, recurse up path's directory and look for a versioned directory. If found, add all intermediate paths between it and path.

Important: this is a *scheduling* operation. No changes will happen to the repository until a commit occurs. This scheduling can be removed with a call to doRevert(File[], SVNDepth, Collection).

Parameters:
path - working copy path
force - if true, this method does not throw exceptions on already-versioned items
mkdir - if true, create a directory also at path
climbUnversionedParents - not used; make use of makeParents instead
depth - tree depth
depthIsSticky - if depth should be recorded to the working copy
includeIgnored - if true, does not apply ignore patterns to paths being added
makeParents - if true, climb upper and schedule also all unversioned paths in the way
Throws:
SVNException -

doMarkReplaced

public void doMarkReplaced(java.io.File path)
                    throws SVNException
Schedules path as being replaced. This method does not perform any deletion\addition in the filesysem nor does it require a connection to the repository. It just marks the current path item as being replaced.

Parameters:
path - working copy path to mark as
Throws:
SVNException
Since:
1.2

doRevert

public void doRevert(java.io.File path,
                     boolean recursive)
              throws SVNException
Deprecated. use doRevert(File[], SVNDepth, Collection)

Reverts all local changes made to a Working Copy item(s) thus bringing it to a 'pristine' state.

Parameters:
path - a WC path to perform a revert on
recursive - true to descend recursively (relevant for directories)
Throws:
SVNException - if one of the following is true:
  • path is not under version control
  • when trying to revert an addition of a directory from within the directory itself
See Also:
doRevert(File[],boolean)

doRevert

public void doRevert(java.io.File[] paths,
                     boolean recursive)
              throws SVNException
Deprecated. use doRevert(File[], SVNDepth, Collection) instead

Reverts all local changes made to a Working Copy item(s) thus bringing it to a 'pristine' state.

Parameters:
paths - a WC paths to perform a revert on
recursive - true to descend recursively (relevant for directories)
Throws:
SVNException - if one of the following is true:
  • path is not under version control
  • when trying to revert an addition of a directory from within the directory itself

Exception will not be thrown if there are multiple paths passed. Instead caller should process events received by ISVNEventHandler instance to get information on whether certain path was reverted or not.


doRevert

public void doRevert(java.io.File[] paths,
                     SVNDepth depth,
                     java.util.Collection<java.lang.String> changeLists)
              throws SVNException
Restores the pristine version of working copy paths, effectively undoing any local mods. For each path in paths, reverts it if it is a file. Else if it is a directory, reverts according to depth:

If depth is SVNDepth.EMPTY, reverts just the properties on the directory; else if SVNDepth.FILES, reverts the properties and any files immediately under the directory; else if SVNDepth.IMMEDIATES, reverts all of the preceding plus properties on immediate subdirectories; else if SVNDepth.INFINITY, reverts path and everything under it fully recursively.

changeLists is a collection of String changelist names, used as a restrictive filter on items reverted; that is, doesn't revert any item unless it's a member of one of those changelists. If changeLists is empty (or null), no changelist filtering occurs.

If an item specified for reversion is not under version control, then does not fail with an exception, just invokes ISVNEventHandler using notification code SVNEventAction.SKIP.

Parameters:
paths - working copy paths to revert
depth - tree depth
changeLists - collection with changelist names
Throws:
SVNException
Since:
1.2, SVN 1.5

doResolve

public void doResolve(java.io.File path,
                      boolean recursive)
               throws SVNException
Deprecated. use doResolve(File, SVNDepth, SVNConflictChoice) instead

Resolves a 'conflicted' state on a Working Copy item.

Parameters:
path - a WC item to be resolved
recursive - true to descend recursively (relevant for directories) - this will resolve the entire tree
Throws:
SVNException - if path is not under version control

doResolve

public void doResolve(java.io.File path,
                      SVNDepth depth,
                      SVNConflictChoice conflictChoice)
               throws SVNException
Performs automatic conflict resolution on a working copy path.

If depth is SVNDepth.EMPTY, acts only on path; if SVNDepth.FILES, resolves path and its conflicted file children (if any); if SVNDepth.IMMEDIATES , resolves path and all its immediate conflicted children (both files and directories, if any); if SVNDepth.INFINITY, resolves path and every conflicted file or directory anywhere beneath it.

If conflictChoice is SVNConflictChoice.BASE, resolves the conflict with the old file contents; if SVNConflictChoice.MINE_FULL, uses the original working contents; if SVNConflictChoice.THEIRS_FULL, the new contents; and if SVNConflictChoice.MERGED, doesn't change the contents at all, just removes the conflict status, which is the pre-1.2 (pre-SVN 1.5) behavior.

SVNConflictChoice.THEIRS_CONFLICT and SVNConflictChoice.MINE_CONFLICT are not legal for binary files or properties.

If path is not in a state of conflict to begin with, does nothing. If path's conflict state is removed and caller's ISVNEntryHandler is not null, then an SVNEventAction.RESOLVED event is dispatched to the handler.

This is equivalent to calling doResolve(path, depth, true, true, conflictChoice).

Parameters:
path - working copy path
depth - tree depth
conflictChoice - choice object for making decision while resolving
Throws:
SVNException
Since:
1.2, SVN 1.5

doResolve

public void doResolve(java.io.File path,
                      SVNDepth depth,
                      boolean resolveContents,
                      boolean resolveProperties,
                      SVNConflictChoice conflictChoice)
               throws SVNException
Performs automatic conflict resolution on a working copy path.

If depth is SVNDepth.EMPTY, acts only on path; if SVNDepth.FILES, resolves path and its conflicted file children (if any); if SVNDepth.IMMEDIATES , resolves path and all its immediate conflicted children (both files and directories, if any); if SVNDepth.INFINITY, resolves path and every conflicted file or directory anywhere beneath it.

If conflictChoice is SVNConflictChoice.BASE, resolves the conflict with the old file contents; if SVNConflictChoice.MINE_FULL, uses the original working contents; if SVNConflictChoice.THEIRS_FULL, the new contents; and if SVNConflictChoice.MERGED, doesn't change the contents at all, just removes the conflict status, which is the pre-1.2 (pre-SVN 1.5) behavior.

SVNConflictChoice.THEIRS_CONFLICT and SVNConflictChoice.MINE_CONFLICT are not legal for binary files or properties.

If path is not in a state of conflict to begin with, does nothing. If path's conflict state is removed and caller's ISVNEntryHandler is not null, then an SVNEventAction.RESOLVED event is dispatched to the handler.

Parameters:
path - working copy path
depth - tree depth
resolveContents - resolve content conflict
resolveProperties - resolve property conflict
conflictChoice - choice object for making decision while resolving
Throws:
SVNException
Since:
1.2, SVN 1.5

doResolve

public void doResolve(java.io.File path,
                      SVNDepth depth,
                      boolean resolveContents,
                      boolean resolveProperties,
                      boolean resolveTree,
                      SVNConflictChoice conflictChoice)
               throws SVNException
Performs automatic conflict resolution on a working copy path.

If depth is SVNDepth.EMPTY, acts only on path; if SVNDepth.FILES, resolves path and its conflicted file children (if any); if SVNDepth.IMMEDIATES , resolves path and all its immediate conflicted children (both files and directories, if any); if SVNDepth.INFINITY, resolves path and every conflicted file or directory anywhere beneath it.

If conflictChoice is SVNConflictChoice.BASE, resolves the conflict with the old file contents; if SVNConflictChoice.MINE_FULL, uses the original working contents; if SVNConflictChoice.THEIRS_FULL, the new contents; and if SVNConflictChoice.MERGED, doesn't change the contents at all, just removes the conflict status, which is the pre-1.2 (pre-SVN 1.5) behavior.

SVNConflictChoice.THEIRS_CONFLICT and SVNConflictChoice.MINE_CONFLICT are not legal for binary files or properties.

If path is not in a state of conflict to begin with, does nothing. If path's conflict state is removed and caller's ISVNEntryHandler is not null, then an SVNEventAction.RESOLVED event is dispatched to the handler.

Parameters:
path - working copy path
depth - tree depth
resolveContents - resolve content conflict
resolveProperties - resolve property conflict
resolveTree - n resolve any tree conlicts
conflictChoice - choice object for making decision while resolving
Throws:
SVNException
Since:
1.3, SVN 1.6

doLock

public void doLock(java.io.File[] paths,
                   boolean stealLock,
                   java.lang.String lockMessage)
            throws SVNException
Locks file items in a Working Copy as well as in a repository so that no other user can commit changes to them.

Parameters:
paths - an array of local WC file paths that should be locked
stealLock - if true then all existing locks on the specified paths will be "stolen"
lockMessage - an optional lock comment
Throws:
SVNException - if one of the following is true:
  • a path to be locked is not under version control
  • can not obtain a URL of a local path to lock it in the repository - there's no such entry
  • paths to be locked belong to different repositories
See Also:
doLock(SVNURL[],boolean,String)

doLock

public void doLock(SVNURL[] urls,
                   boolean stealLock,
                   java.lang.String lockMessage)
            throws SVNException
Locks file items in a repository so that no other user can commit changes to them.

Parameters:
urls - an array of URLs to be locked
stealLock - if true then all existing locks on the specified urls will be "stolen"
lockMessage - an optional lock comment
Throws:
SVNException
See Also:
doLock(File[],boolean,String)

doUnlock

public void doUnlock(java.io.File[] paths,
                     boolean breakLock)
              throws SVNException
Unlocks file items in a Working Copy as well as in a repository.

Parameters:
paths - an array of local WC file paths that should be unlocked
breakLock - if true and there are locks that belong to different users then those locks will be also unlocked - that is "broken"
Throws:
SVNException - if one of the following is true:
  • a path is not under version control
  • can not obtain a URL of a local path to unlock it in the repository - there's no such entry
  • if a path is not locked in the Working Copy and breakLock is false
  • paths to be unlocked belong to different repositories
See Also:
doUnlock(SVNURL[],boolean)

doUnlock

public void doUnlock(SVNURL[] urls,
                     boolean breakLock)
              throws SVNException
Unlocks file items in a repository.

Parameters:
urls - an array of URLs that should be unlocked
breakLock - if true and there are locks that belong to different users then those locks will be also unlocked - that is "broken"
Throws:
SVNException
See Also:
doUnlock(File[],boolean)

doInfo

public void doInfo(java.io.File path,
                   SVNRevision revision,
                   boolean recursive,
                   ISVNInfoHandler handler)
            throws SVNException
Deprecated. use doInfo(File, SVNRevision, SVNRevision, SVNDepth, Collection, ISVNInfoHandler) instead

Collects information about Working Copy item(s) and passes it to an info handler.

If revision is valid and not local, then information will be collected on remote items (that is taken from a repository). Otherwise information is gathered on local items not accessing a repository.

Parameters:
path - a WC item on which info should be obtained
revision - a target revision
recursive - true to descend recursively (relevant for directories)
handler - a caller's info handler
Throws:
SVNException - if one of the following is true:
  • path is not under version control
  • can not obtain a URL corresponding to path to get its information from the repository - there's no such entry
  • if a remote info: path is an item that does not exist in the specified revision

doInfo

public void doInfo(java.io.File path,
                   SVNRevision pegRevision,
                   SVNRevision revision,
                   boolean recursive,
                   ISVNInfoHandler handler)
            throws SVNException
Deprecated. use doInfo(File, SVNRevision, SVNRevision, SVNDepth, Collection, ISVNInfoHandler) instead

Collects information about Working Copy item(s) and passes it to an info handler.

If revision & pegRevision are valid and not local, then information will be collected on remote items (that is taken from a repository). Otherwise information is gathered on local items not accessing a repository.

Parameters:
path - a WC item on which info should be obtained
pegRevision - a revision in which path is first looked up
revision - a target revision
recursive - true to descend recursively (relevant for directories)
handler - a caller's info handler
Throws:
SVNException - if one of the following is true:
  • path is not under version control
  • can not obtain a URL corresponding to path to get its information from the repository - there's no such entry
  • if a remote info: path is an item that does not exist in the specified revision

doInfo

public void doInfo(java.io.File path,
                   SVNRevision pegRevision,
                   SVNRevision revision,
                   SVNDepth depth,
                   java.util.Collection<java.lang.String> changeLists,
                   ISVNInfoHandler handler)
            throws SVNException
Invokes handler to return information about path in revision. The information returned is system-generated metadata, not the sort of "property" metadata created by users. See SVNInfo.

If both revision arguments are either null or local, or invalid, 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 path as it exists in pegRevision. If pegRevision is SVNRevision.UNDEFINED, then it defaults to SVNRevision.WORKING.

If path is a file, just invokes handler on it. If it is a directory, then descends according to depth. If depth is SVNDepth.EMPTY, invokes handler on path and nothing else; if SVNDepth.FILES, on path and its immediate file children; if SVNDepth.IMMEDIATES, the preceding plus on each immediate subdirectory; if SVNDepth.INFINITY, then recurses fully, invoking handler on path and everything beneath it.

changeLists is a collection of String changelist names, used as a restrictive filter on items whose info is reported; that is, doesn't report info about any item unless it's a member of one of those changelists. If changeLists is empty (or null), no changelist filtering occurs.

Parameters:
path - a WC item on which info should be obtained
pegRevision - a revision in which path is first looked up
revision - a target revision
depth - tree depth
changeLists - collection changelist names
handler - caller's info handler
Throws:
SVNException
Since:
1.2, SVN 1.5

doInfo

public void doInfo(SVNURL url,
                   SVNRevision pegRevision,
                   SVNRevision revision,
                   boolean recursive,
                   ISVNInfoHandler handler)
            throws SVNException
Deprecated. use doInfo(SVNURL, SVNRevision, SVNRevision, SVNDepth, ISVNInfoHandler) instead

Collects information about item(s) in a repository and passes it to an info handler.

Parameters:
url - a URL of an item which information is to be obtained and processed
pegRevision - a revision in which the item is first looked up
revision - a target revision
recursive - true to descend recursively (relevant for directories)
handler - a caller's info handler
Throws:
SVNException - if url is an item that does not exist in the specified revision

doInfo

public void doInfo(SVNURL url,
                   SVNRevision pegRevision,
                   SVNRevision revision,
                   SVNDepth depth,
                   ISVNInfoHandler handler)
            throws SVNException
Invokes handler to return information about url in revision. The information returned is system-generated metadata, not the sort of "property" metadata created by users. See SVNInfo.

If revision argument is either null or invalid, it defaults to SVNRevision.HEAD. If revision is SVNRevision.PREVIOUS (or some other kind that requires a local path), an error will be returned, because the desired revision cannot be determined. If pegRevision argument is either null or invalid, it defaults to revision.

Information will be pulled from the repository. The actual node revision selected is determined by the url as it exists in pegRevision. If pegRevision is SVNRevision.UNDEFINED, then it defaults to SVNRevision.WORKING.

If url is a file, just invokes handler on it. If it is a directory, then descends according to depth. If depth is SVNDepth.EMPTY, invokes handler on url and nothing else; if SVNDepth.FILES, on url and its immediate file children; if SVNDepth.IMMEDIATES, the preceding plus on each immediate subdirectory; if SVNDepth.INFINITY, then recurses fully, invoking handler on url and everything beneath it.

Parameters:
url - versioned item url
pegRevision - revision in which path is first looked up
revision - target revision
depth - tree depth
handler - caller's info handler
Throws:
SVNException
Since:
1.2, SVN 1.5

doGetWorkingCopyID

public java.lang.String doGetWorkingCopyID(java.io.File path,
                                           java.lang.String trailURL)
                                    throws SVNException
Returns the current Working Copy min- and max- revisions as well as changes and switch status within a single string.

This method is the same as doGetWorkingCopyID(path, trailURL, false).

Parameters:
path - a local path
trailURL - optional: if not null specifies the name of the item that should be met in the URL corresponding to the repository location of the path; if that URL ends with something different than this optional parameter - the Working Copy will be considered "switched"
Returns:
brief info on the Working Copy or the string "exported" if path is a clean directory
Throws:
SVNException - if path is neither versioned nor even exported
See Also:
doGetWorkingCopyID(File, String, boolean)

doGetWorkingCopyID

public java.lang.String doGetWorkingCopyID(java.io.File path,
                                           java.lang.String trailURL,
                                           boolean committed)
                                    throws SVNException
Returns the current Working Copy min- and max- revisions as well as changes and switch status within a single string.

A return string has a form of "minR[:maxR][M][S]" where:

If path is a directory - this method recursively descends into the Working Copy, collects and processes local information.

This method operates on local working copies only without accessing a repository.

Parameters:
path - a local path
trailURL - optional: if not null specifies the name of the item that should be met in the URL corresponding to the repository location of the path; if that URL ends with something different than this optional parameter - the Working Copy will be considered "switched"
committed - if true committed (last chaned) revisions instead of working copy ones are reported
Returns:
brief info on the Working Copy or the string "exported" if path is a clean directory
Throws:
SVNException - if path is neither versioned nor even exported
Since:
1.2

doInfo

public SVNInfo doInfo(java.io.File path,
                      SVNRevision revision)
               throws SVNException
Collects and returns information on a single Working Copy item.

This method is the same as doInfo(path, SVNRevision.UNDEFINED, revision, SVNDepth.EMPTY, null, handler) where handler just stores SVNInfo for the path and then returns it to the caller.

Parameters:
path - a WC item on which info should be obtained
revision - a target revision
Returns:
collected info
Throws:
SVNException - if one of the following is true:
  • path is not under version control
  • can not obtain a URL corresponding to path to get its information from the repository - there's no such entry
  • if a remote info: path is an item that does not exist in the specified revision
See Also:
doInfo(File, SVNRevision, SVNRevision, SVNDepth, Collection, ISVNInfoHandler)

doInfo

public SVNInfo doInfo(SVNURL url,
                      SVNRevision pegRevision,
                      SVNRevision revision)
               throws SVNException
Collects and returns information on a single item in a repository.

This method is the same as doInfo(url, pegRevision, revision, SVNDepth.EMPTY, handler) where handler just stores SVNInfo for the url.

Parameters:
url - a URL of an item which information is to be obtained
pegRevision - a revision in which the item is first looked up
revision - a target revision
Returns:
collected info
Throws:
SVNException - if url is an item that does not exist in the specified revision
See Also:
doInfo(SVNURL, SVNRevision, SVNRevision, SVNDepth, ISVNInfoHandler)

doCleanupWCProperties

public void doCleanupWCProperties(java.io.File directory)
                           throws SVNException
Recursively removes all DAV-specific "svn:wc:" properties from the directory and beneath.

This method does not connect to a repository, it's a local operation only. Nor does it change any user's versioned data. Changes are made only in administrative version control files.

Parameters:
directory - working copy path
Throws:
SVNException
Since:
1.2

doSetWCFormat

public void doSetWCFormat(java.io.File directory,
                          int format)
                   throws SVNException
Changes working copy format. This method may be used to upgrade\downgrade working copy formats.

If externals are not ignored then external working copies are also converted to the new working copy format.

This method does not connect to a repository, it's a local operation only. Nor does it change any user's versioned data. Changes are made only in administrative version control files.

Parameters:
directory - working copy directory
format - format to set, supported formats are: 12 (SVN 1.6), 9 (SVN 1.5), 8 (SVN 1.4) and 4 (SVN 1.2)
Throws:
SVNException
Since:
1.2

doSetProperty

public void doSetProperty(java.io.File path,
                          java.lang.String propName,
                          SVNPropertyValue propValue,
                          boolean force,
                          boolean recursive,
                          ISVNPropertyHandler handler)
                   throws SVNException
Deprecated. use doSetProperty(File, String, SVNPropertyValue, boolean, SVNDepth, ISVNPropertyHandler, Collection) instead

This method is deprecated.

Parameters:
path - a WC item which properties are to be modified
propName - a property name
propValue - a property value
force - true to force the operation to run
recursive - true to descend recursively
handler - a caller's property handler
Throws:
SVNException - if one of the following is true:
  • propName is a revision property
  • propName starts with the svn:wc: prefix