org.tmatesoft.svn.core.wc
Class SVNCommitClient

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

public class SVNCommitClient
extends SVNBasicClient

The SVNCommitClient class provides methods to perform operations that relate to committing changes to an SVN repository. These operations are similar to respective commands of the native SVN command line client and include ones which operate on working copy items as well as ones that operate only on a repository.

Here's a list of the SVNCommitClient's commit-related methods matched against corresponing commands of the SVN command line client:

SVNKit Subversion
doCommit() 'svn commit'
doImport() 'svn import'
doDelete() 'svn delete URL'
doMkDir() 'svn mkdir URL'

Since:
1.2
See Also:
Examples

Constructor Summary
SVNCommitClient(ISVNAuthenticationManager authManager, ISVNOptions options)
          Constructs and initializes an SVNCommitClient object with the specified run-time configuration and authentication drivers.
SVNCommitClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)
          Constructs and initializes an SVNCommitClient object with the specified run-time configuration and repository pool object.
 
Method Summary
 SVNCommitPacket doCollectCommitItems(java.io.File[] paths, boolean keepLocks, boolean force, boolean recursive)
          Deprecated. use doCollectCommitItems(File[], boolean, boolean, SVNDepth, String[]) instead
 SVNCommitPacket[] doCollectCommitItems(java.io.File[] paths, boolean keepLocks, boolean force, boolean recursive, boolean combinePackets)
          Deprecated. use doCollectCommitItems(File[], boolean, boolean, SVNDepth, boolean, String[]) instead
 SVNCommitPacket[] doCollectCommitItems(java.io.File[] paths, boolean keepLocks, boolean force, SVNDepth depth, boolean combinePackets, java.lang.String[] changelists)
          Collects commit items (containing detailed information on each Working Copy item that was changed and need to be committed to the repository) into different SVNCommitPackets.
 SVNCommitPacket doCollectCommitItems(java.io.File[] paths, boolean keepLocks, boolean force, SVNDepth depth, java.lang.String[] changelists)
          Collects commit items (containing detailed information on each Working Copy item that contains changes and need to be committed to the repository) into a single SVNCommitPacket.
 SVNCommitInfo doCommit(java.io.File[] paths, boolean keepLocks, java.lang.String commitMessage, boolean force, boolean recursive)
          Deprecated. use doCommit(File[], boolean, String, SVNProperties, String[], boolean, boolean, SVNDepth) instead
 SVNCommitInfo doCommit(java.io.File[] paths, boolean keepLocks, java.lang.String commitMessage, SVNProperties revisionProperties, java.lang.String[] changelists, boolean keepChangelist, boolean force, SVNDepth depth)
          Commits files or directories into repository.
 SVNCommitInfo[] doCommit(SVNCommitPacket[] commitPackets, boolean keepLocks, boolean keepChangelist, java.lang.String commitMessage, SVNProperties revisionProperties)
          Commits files or directories into repository.
 SVNCommitInfo[] doCommit(SVNCommitPacket[] commitPackets, boolean keepLocks, java.lang.String commitMessage)
          Committs local changes, made to the Working Copy items, to the repository.
 SVNCommitInfo doCommit(SVNCommitPacket commitPacket, boolean keepLocks, boolean keepChangelist, java.lang.String commitMessage, SVNProperties revisionProperties)
          Commits files or directories into repository.
 SVNCommitInfo doCommit(SVNCommitPacket commitPacket, boolean keepLocks, java.lang.String commitMessage)
          Committs local changes made to the Working Copy items to the repository.
 SVNCommitInfo doDelete(SVNURL[] urls, java.lang.String commitMessage)
          Committs removing specified URL-paths from the repository.
 SVNCommitInfo doDelete(SVNURL[] urls, java.lang.String commitMessage, SVNProperties revisionProperties)
          Deletes items from a repository.
 SVNCommitInfo doImport(java.io.File path, SVNURL dstURL, java.lang.String commitMessage, boolean recursive)
          Deprecated. use doImport(File, SVNURL, String, SVNProperties, boolean, boolean, SVNDepth) instead
 SVNCommitInfo doImport(java.io.File path, SVNURL dstURL, java.lang.String commitMessage, boolean useGlobalIgnores, boolean recursive)
          Deprecated. use doImport(File, SVNURL, String, SVNProperties, boolean, boolean, SVNDepth) instead
 SVNCommitInfo doImport(java.io.File path, SVNURL dstURL, java.lang.String commitMessage, SVNProperties revisionProperties, boolean useGlobalIgnores, boolean ignoreUnknownNodeTypes, SVNDepth depth)
          Imports file or directory path into repository directory dstURL at HEAD revision.
 SVNCommitInfo doMkDir(SVNURL[] urls, java.lang.String commitMessage)
          Committs a creation of a new directory/directories in the repository.
 SVNCommitInfo doMkDir(SVNURL[] urls, java.lang.String commitMessage, SVNProperties revisionProperties, boolean makeParents)
          Creates directory(ies) 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 previously provided.
 ISVNCommitParameters getCommitParameters()
          Returns commit parameters.
 void setCommitHander(ISVNCommitHandler handler)
          Deprecated. use setCommitHandler(ISVNCommitHandler) instead
 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 setCommitParameters(ISVNCommitParameters parameters)
          Sets commit parameters to use.
 
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
 

Constructor Detail

SVNCommitClient

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

If options is null, then this SVNCommitClient 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 SVNCommitClient 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

SVNCommitClient

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

If options is null, then this SVNCommitClient 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

setCommitHander

public void setCommitHander(ISVNCommitHandler handler)
Deprecated. use setCommitHandler(ISVNCommitHandler) instead

Parameters:
handler -

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 SVNCommitClient 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

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 previously provided.

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

setCommitParameters

public void setCommitParameters(ISVNCommitParameters parameters)
Sets commit parameters to use.

When no parameters are set default ones are used.

Parameters:
parameters - commit parameters
See Also:
getCommitParameters()

getCommitParameters

public ISVNCommitParameters getCommitParameters()
Returns commit parameters.

If no user parameters were previously specified, once creates and returns default ones.

Returns:
commit parameters
See Also:
setCommitParameters(ISVNCommitParameters)

doDelete

public SVNCommitInfo doDelete(SVNURL[] urls,
                              java.lang.String commitMessage)
                       throws SVNException
Committs removing specified URL-paths from the repository. This call is equivalent to doDelete(urls, commitMessage, null).

Parameters:
urls - an array containing URL-strings that represent repository locations to be removed
commitMessage - a string to be a commit log message
Returns:
information on a new revision as the result of the commit
Throws:
SVNException - if one of the following is true:
  • a URL does not exist
  • probably some of URLs refer to different repositories
See Also:
doDelete(SVNURL[], String, SVNProperties)

doDelete

public SVNCommitInfo doDelete(SVNURL[] urls,
                              java.lang.String commitMessage,
                              SVNProperties revisionProperties)
                       throws SVNException
Deletes items from a repository.

If non-null, revisionProperties holds additional, custom revision properties (String names mapped to SVNPropertyValue values) to be set on the new revision. This table cannot contain any standard Subversion properties.

Commit handler will be asked for a commit log message.

If the caller's event handler is not null and if the commit succeeds, the handler will be called with SVNEventAction.COMMIT_COMPLETED event action.

Parameters:
urls - repository urls to delete
commitMessage - commit log message
revisionProperties - custom revision properties
Returns:
information about the new committed revision
Throws:
SVNException - in the following cases:
Since:
1.2.0, SVN 1.5.0

doMkDir

public SVNCommitInfo doMkDir(SVNURL[] urls,
                             java.lang.String commitMessage)
                      throws SVNException
Committs a creation of a new directory/directories in the repository.

Parameters:
urls - an array containing URL-strings that represent new repository locations to be created
commitMessage - a string to be a commit log message
Returns:
information on a new revision as the result of the commit
Throws:
SVNException - if some of URLs refer to different repositories

doMkDir

public SVNCommitInfo doMkDir(SVNURL[] urls,
                             java.lang.String commitMessage,
                             SVNProperties revisionProperties,
                             boolean makeParents)
                      throws SVNException
Creates directory(ies) in a repository.

If makeParents is true, creates any non-existent parent directories also.

If non-null, revisionProperties holds additional, custom revision properties (String names mapped to SVNPropertyValue values) to be set on the new revision. This table cannot contain any standard Subversion properties.

Commit handler will be asked for a commit log message.

If the caller's event handler is not null and if the commit succeeds, the handler will be called with SVNEventAction.COMMIT_COMPLETED event action.

Parameters:
urls - repository locations to create
commitMessage - commit log message
revisionProperties - custom revision properties
makeParents - if true, creates all non-existent parent directories
Returns:
information about the new committed revision
Throws:
SVNException - in the following cases:
Since:
1.2.0, SVN 1.5.0

doImport

public SVNCommitInfo doImport(java.io.File path,
                              SVNURL dstURL,
                              java.lang.String commitMessage,
                              boolean recursive)
                       throws SVNException
Deprecated. use doImport(File, SVNURL, String, SVNProperties, boolean, boolean, SVNDepth) instead

Committs an addition of a local unversioned file or directory into the repository.

This method is identical to doImport(path, dstURL, commitMessage, null, true, false, SVNDepth.fromRecurse(recursive)).

Parameters:
path - a local unversioned file or directory to be imported into the repository
dstURL - a URL-string that represents a repository location where the path will be imported
commitMessage - a string to be a commit log message
recursive - this flag is relevant only when the path is a directory: if true then the entire directory tree will be imported including all child directories, otherwise only items located in the directory itself
Returns:
information on a new revision as the result of the commit
Throws:
SVNException - if one of the following is true:
  • dstURL is invalid
  • the path denoted by dstURL already exists
  • path contains a reserved name - '.svn'

doImport

public SVNCommitInfo doImport(java.io.File path,
                              SVNURL dstURL,
                              java.lang.String commitMessage,
                              boolean useGlobalIgnores,
                              boolean recursive)
                       throws SVNException
Deprecated. use doImport(File, SVNURL, String, SVNProperties, boolean, boolean, SVNDepth) instead

Committs an addition of a local unversioned file or directory into the repository.

This method is identical to doImport(path, dstURL, commitMessage, null, useGlobalIgnores, false, SVNDepth.fromRecurse(recursive)).

Parameters:
path - a local unversioned file or directory to be imported into the repository
dstURL - a URL-string that represents a repository location where the path will be imported
commitMessage - a string to be a commit log message
useGlobalIgnores - if true then those paths that match global ignore patterns controlled by a config options driver (see ISVNOptions.getIgnorePatterns() ) will not be imported, otherwise global ignore patterns are not used
recursive - this flag is relevant only when the path is a directory: if true then the entire directory tree will be imported including all child directories, otherwise only items located in the directory itself
Returns:
information on a new revision as the result of the commit
Throws:
SVNException - if one of the following is true:
  • dstURL is invalid
  • the path denoted by dstURL already exists
  • path contains a reserved name - '.svn'

doImport

public SVNCommitInfo doImport(java.io.File path,
                              SVNURL dstURL,
                              java.lang.String commitMessage,
                              SVNProperties revisionProperties,
                              boolean useGlobalIgnores,
                              boolean ignoreUnknownNodeTypes,
                              SVNDepth depth)
                       throws SVNException
Imports file or directory path into repository directory dstURL at HEAD revision. If some components of dstURL do not exist, then creates parent directories as necessary.

If path is a directory, the contents of that directory are imported directly into the directory identified by dstURL. Note that the directory path itself is not imported -- that is, the base name of path is not part of the import.

If path is a file, then the parent of dstURL is the directory receiving the import. The base name of dstURL is the filename in the repository. In this case if dstURL already exists, throws SVNException.

If the caller's event handler is not null it will be called as the import progresses with SVNEventAction.COMMIT_ADDED action. If the commit succeeds, the handler will be called with SVNEventAction.COMMIT_COMPLETED event action.

If non-null, revisionProperties holds additional, custom revision properties (String names mapped to SVNPropertyValue values) to be set on the new revision. This table cannot contain any standard Subversion properties.

Commit handler will be asked for a commit log message.

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

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

If ignoreUnknownNodeTypes is false, ignores files of which the node type is unknown, such as device files and pipes.

Parameters:
path - path to import
dstURL - import destination url
commitMessage - commit log message
revisionProperties - custom revision properties
useGlobalIgnores - whether matching against global ignore patterns should take place
ignoreUnknownNodeTypes - whether to ignore files of unknown node types or not
depth - tree depth to process
Returns:
information about the new committed revision
Throws:
SVNException - in the following cases:
Since:
1.2.0, New in SVN 1.5.0

doCommit

public SVNCommitInfo doCommit(java.io.File[] paths,
                              boolean keepLocks,
                              java.lang.String commitMessage,
                              boolean force,
                              boolean recursive)
                       throws SVNException
Deprecated. use doCommit(File[], boolean, String, SVNProperties, String[], boolean, boolean, SVNDepth) instead

Committs local changes to the repository.

This method is identical to doCommit(paths, keepLocks, commitMessage, null, null, false, force, SVNDepth.fromRecurse(recursive)).

Parameters:
paths - an array of local items which should be traversed to commit changes they have to the repository
keepLocks - if true and there are local items that were locked then the commit will left them locked, otherwise the items will be unlocked after the commit succeeds
commitMessage - a string to be a commit log message
force - true to force a non-recursive commit; if recursive is set to true the force flag is ignored
recursive - relevant only for directory items: if true then the entire directory tree will be committed including all child directories, otherwise only items located in the directory itself
Returns:
information on a new revision as the result of the commit
Throws:
SVNException

doCommit

public SVNCommitInfo doCommit(java.io.File[] paths,
                              boolean keepLocks,
                              java.lang.String commitMessage,
                              SVNProperties revisionProperties,
                              java.lang.String[] changelists,
                              boolean keepChangelist,
                              boolean force,
                              SVNDepth depth)
                       throws SVNException
Commits files or directories into repository.

paths need not be canonicalized nor condensed; this method will take care of that. If targets has zero elements, then do nothing and return immediately without error.

If non-null, revisionProperties holds additional, custom revision properties (String names mapped to SVNPropertyValue values) to be set on the new revision. This table cannot contain any standard Subversion properties.

If the caller's event handler is not null it will be called as the commit progresses with any of the following actions: SVNEventAction.COMMIT_MODIFIED, SVNEventAction.COMMIT_ADDED, SVNEventAction.COMMIT_DELETED, SVNEventAction.COMMIT_REPLACED. If the commit succeeds, the handler will be called with SVNEventAction.COMMIT_COMPLETED event action.

If depth is SVNDepth.INFINITY, commits all changes to and below named targets. If depth is SVNDepth.EMPTY, commits only named targets (that is, only property changes on named directory targets, and property and content changes for named file targets). If depth is SVNDepth.FILES, behaves as above for named file targets, and for named directory targets, commits property changes on a named directory and all changes to files directly inside that directory. If SVNDepth.IMMEDIATES, behaves as for SVNDepth.FILES, and for subdirectories of any named directory target commits as though for SVNDepth.EMPTY.

Unlocks paths in the repository, unless keepLocks is true.

changelists is an array of String changelist names, used as a restrictive filter on items that are committed; that is, doesn't commit anything unless it's a member of one of those changelists. After the commit completes successfully, removes changelist associations from the targets, unless keepChangelist is set. If changelists is empty (or altogether null), no changelist filtering occurs.

If no exception is thrown and SVNCommitInfo.getNewRevision() is invalid (<0), then the commit was a no-op; nothing needed to be committed.

Parameters:
paths - paths to commit
keepLocks - whether to unlock or not files in the repository
commitMessage - commit log message
revisionProperties - custom revision properties
changelists - changelist names array
keepChangelist - whether to remove changelists or not
force - true to force a non-recursive commit; if depth is SVNDepth.INFINITY the force flag is ignored
depth - tree depth to process
Returns:
information about the new committed revision
Throws:
SVNException
Since:
1.2.0, New in Subversion 1.5.0

doCommit

public SVNCommitInfo doCommit(SVNCommitPacket commitPacket,
                              boolean keepLocks,
                              java.lang.String commitMessage)
                       throws SVNException
Committs local changes made to the Working Copy items to the repository.

This method is identical to doCommit(commitPacket, keepLocks, false, commitMessage, null).

commitPacket contains commit items (SVNCommitItem) which represent local Working Copy items that were changed and are to be committed. Commit items are gathered into a single SVNCommitPacket by invoking doCollectCommitItems().

Parameters:
commitPacket - a single object that contains items to be committed
keepLocks - if true and there are local items that were locked then the commit will left them locked, otherwise the items will be unlocked after the commit succeeds
commitMessage - a string to be a commit log message
Returns:
information on a new revision as the result of the commit
Throws:
SVNException
See Also:
SVNCommitItem

doCommit

public SVNCommitInfo doCommit(SVNCommitPacket commitPacket,
                              boolean keepLocks,
                              boolean keepChangelist,
                              java.lang.String commitMessage,
                              SVNProperties revisionProperties)
                       throws SVNException
Commits files or directories into repository.

This method is identical to doCommit(File[], boolean, String, SVNProperties, String[], boolean, boolean, SVNDepth) except for it receives a commit packet instead of paths array. The aforementioned method collects commit items into a commit packet given working copy paths. This one accepts already collected commit items provided in commitPacket.

commitPacket contains commit items (SVNCommitItem) which represent local Working Copy items that are to be committed. Commit items are gathered in a single SVNCommitPacket by invoking either doCollectCommitItems(File[], boolean, boolean, SVNDepth, String[]) or doCollectCommitItems(File[], boolean, boolean, SVNDepth, boolean, String[]).

For more details on parameters, please, refer to doCommit(File[], boolean, String, SVNProperties, String[], boolean, boolean, SVNDepth).

Parameters:
commitPacket - a single object that contains items to be committed
keepLocks - if true and there are local items that were locked then the commit will left them locked, otherwise the items will be unlocked after the commit succeeds
keepChangelist - whether to remove changelists or not
commitMessage - commit log message
revisionProperties - custom revision properties
Returns:
information about the new committed revision
Throws:
SVNException
Since:
1.2.0, SVN 1.5.0

doCommit

public SVNCommitInfo[] doCommit(SVNCommitPacket[] commitPackets,
                                boolean keepLocks,
                                java.lang.String commitMessage)
                         throws SVNException
Committs local changes, made to the Working Copy items, to the repository.

commitPackets is an array of packets that contain commit items (SVNCommitItem) which represent local Working Copy items that were changed and are to be committed. Commit items are gathered in a single SVNCommitPacket by invoking doCollectCommitItems().

This allows to commit separate trees of Working Copies "belonging" to different repositories. One packet per one repository. If repositories are different (it means more than one commit will be done), commitMessage may be replaced by a commit handler to be a specific one for each commit.

This method is identical to doCommit(commitPackets, keepLocks, false, commitMessage, null).

Parameters:
commitPackets - logically grouped items to be committed
keepLocks - if true and there are local items that were locked then the commit will left them locked, otherwise the items will be unlocked after the commit succeeds
commitMessage - a string to be a commit log message
Returns:
committed information
Throws:
SVNException

doCommit

public SVNCommitInfo[] doCommit(SVNCommitPacket[] commitPackets,
                                boolean keepLocks,
                                boolean keepChangelist,
                                java.lang.String commitMessage,
                                SVNProperties revisionProperties)
                         throws SVNException
Commits files or directories into repository.

commitPackets is an array of packets that contain commit items (SVNCommitItem) which represent local Working Copy items that were changed and are to be committed. Commit items are gathered in a single SVNCommitPacket by invoking doCollectCommitItems(File[], boolean, boolean, SVNDepth, String[]) or doCollectCommitItems(File[], boolean, boolean, SVNDepth, boolean, String[]).

This allows to commit items from separate Working Copies checked out from the same or different repositories. For each commit packet commit handler is invoked to produce a commit message given the one commitMessage passed to this method. Each commit packet is committed in a separate transaction.

For more details on parameters, please, refer to doCommit(File[], boolean, String, SVNProperties, String[], boolean, boolean, SVNDepth).

Parameters:
commitPackets - commit packets containing commit commit items per one commit
keepLocks - if true and there are local items that were locked then the commit will left them locked, otherwise the items will be unlocked by the commit
keepChangelist - whether to remove changelists or not
commitMessage - a string to be a commit log message
revisionProperties - custom revision properties
Returns:
information about the new committed revisions
Throws:
SVNException
Since:
1.2.0, SVN 1.5.0

doCollectCommitItems

public SVNCommitPacket doCollectCommitItems(java.io.File[] paths,
                                            boolean keepLocks,
                                            boolean force,
                                            boolean recursive)
                                     throws SVNException
Deprecated. use doCollectCommitItems(File[], boolean, boolean, SVNDepth, String[]) instead

Collects commit items (containing detailed information on each Working Copy item that was changed and need to be committed to the repository) into a single SVNCommitPacket.

This method is equivalent to doCollectCommitItems(paths, keepLocks, force, SVNDepth.fromRecurse(recursive), null).

Parameters:
paths - an array of local items which should be traversed to collect information on every changed item (one SVNCommitItem per each modified local item)
keepLocks - if true and there are local items that were locked then these items will be left locked after traversing all of them, otherwise the items will be unlocked
force - forces collecting commit items for a non-recursive commit
recursive - relevant only for directory items: if true then the entire directory tree will be traversed including all child directories, otherwise only items located in the directory itself will be processed
Returns:
an SVNCommitPacket containing all Working Copy items having local modifications and represented as SVNCommitItem objects; if no modified items were found then SVNCommitPacket.EMPTY is returned
Throws:
SVNException

doCollectCommitItems

public SVNCommitPacket doCollectCommitItems(java.io.File[] paths,
                                            boolean keepLocks,
                                            boolean force,
                                            SVNDepth depth,
                                            java.lang.String[] changelists)
                                     throws SVNException
Collects commit items (containing detailed information on each Working Copy item that contains changes and need to be committed to the repository) into a single SVNCommitPacket. Further this commit packet can be passed to doCommit(SVNCommitPacket, boolean, boolean, String, SVNProperties) .

For more details on parameters, please, refer to doCommit(File[], boolean, String, SVNProperties, String[], boolean, boolean, SVNDepth).

Parameters:
paths - an array of local items which should be traversed to collect information on every changed item (one SVNCommitItem per each modified local item)
keepLocks - if true and there are local items that were locked then these items will be left locked after traversing all of them, otherwise the items will be unlocked
force - forces collecting commit items for a non-recursive commit
depth - tree depth to process
changelists - changelist names array
Returns:
commit packet containing commit items
Throws:
SVNException
Since:
1.2.0

doCollectCommitItems

public SVNCommitPacket[] doCollectCommitItems(java.io.File[] paths,
                                              boolean keepLocks,
                                              boolean force,
                                              boolean recursive,
                                              boolean combinePackets)
                                       throws SVNException
Deprecated. use doCollectCommitItems(File[], boolean, boolean, SVNDepth, boolean, String[]) instead

Collects commit items (containing detailed information on each Working Copy item that was changed and need to be committed to the repository) into different SVNCommitPackets.

This method is identical to doCollectCommitItems(paths, keepLocks, force, SVNDepth.fromRecurse(recursive), combinePackets, null).

Parameters:
paths - an array of local items which should be traversed to collect information on every changed item (one SVNCommitItem per each modified local item)
keepLocks - if true and there are local items that were locked then these items will be left locked after traversing all of them, otherwise the items will be unlocked
force - forces collecting commit items for a non-recursive commit
recursive - relevant only for directory items: if true then the entire directory tree will be traversed including all child directories, otherwise only items located in the directory itself will be processed
combinePackets - if true then collected commit packets will be joined into a single one, so that to be committed in a single transaction
Returns:
an array of commit packets
Throws:
SVNException

doCollectCommitItems

public SVNCommitPacket[] doCollectCommitItems(java.io.File[] paths,
                                              boolean keepLocks,
                                              boolean force,
                                              SVNDepth depth,
                                              boolean combinePackets,
                                              java.lang.String[] changelists)
                                       throws SVNException
Collects commit items (containing detailed information on each Working Copy item that was changed and need to be committed to the repository) into different SVNCommitPackets. This method may be considered as an advanced version of the doCollectCommitItems(File[], boolean, boolean, SVNDepth, String[]) method. Its main difference from the aforementioned method is that it provides an ability to collect commit items from different working copies checked out from the same repository and combine them into a single commit packet. This is attained via setting combinePackets into true. However even if combinePackets is set, combining may only occur if (besides that the paths must be from the same repository) URLs of paths are formed of identical components, that is protocol name, host name, port number (if any) must match for all paths. Otherwise combining will not occur.

Combined items will be committed in a single transaction.

For details on other parameters, please, refer to doCommit(File[], boolean, String, SVNProperties, String[], boolean, boolean, SVNDepth).

Parameters:
paths - an array of local items which should be traversed to collect information on every changed item (one SVNCommitItem per each modified local item)
keepLocks - if true and there are local items that were locked then these items will be left locked after traversing all of them, otherwise the items will be unlocked
force - forces collecting commit items for a non-recursive commit
depth - tree depth to process
combinePackets - whether combining commit packets into a single commit packet is allowed or not
changelists - changelist names array
Returns:
array of commit packets
Throws:
SVNException - in the following cases:
Since:
1.2.0