org.tmatesoft.svn.core.wc

Class 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'

Version: 1.1.1

Author: TMate Software Ltd.

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)
Method Summary
SVNCommitPacketdoCollectCommitItems(File[] paths, boolean keepLocks, boolean force, boolean recursive)
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.
SVNCommitPacket[]doCollectCommitItems(File[] paths, boolean keepLocks, boolean force, boolean recursive, boolean combinePackets)
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.
SVNCommitInfodoCommit(File[] paths, boolean keepLocks, String commitMessage, boolean force, boolean recursive)
Committs local changes made to the Working Copy items (provided as an array of java.io.Files) to the repository.
SVNCommitInfodoCommit(SVNCommitPacket commitPacket, boolean keepLocks, String commitMessage)
Committs local changes made to the Working Copy items to the repository.
SVNCommitInfo[]doCommit(SVNCommitPacket[] commitPackets, boolean keepLocks, String commitMessage)
Committs local changes, made to the Working Copy items, to the repository.
SVNCommitInfodoDelete(SVNURL[] urls, String commitMessage)
Committs removing specified URL-paths from the repository.
SVNCommitInfodoImport(File path, SVNURL dstURL, String commitMessage, boolean recursive)
Committs an addition of a local unversioned file or directory into the repository.
SVNCommitInfodoImport(File path, SVNURL dstURL, String commitMessage, boolean useGlobalIgnores, boolean recursive)
Committs an addition of a local unversioned file or directory into the repository.
SVNCommitInfodoMkDir(SVNURL[] urls, String commitMessage)
Committs a creation of a new directory/directories in the repository.
ISVNCommitHandlergetCommitHandler()
Returns the specified commit handler (if set) being in use or a default one (DefaultSVNCommitHandler) if no special implementations of ISVNCommitHandler were previousely provided.
ISVNCommitParametersgetCommitParameters()
Returns commit parameters.
voidsetCommitHander(ISVNCommitHandler handler)
voidsetCommitHandler(ISVNCommitHandler handler)
Sets an implementation of ISVNCommitHandler to the commit handler that will be used during commit operations to handle commit log messages.
voidsetCommitParameters(ISVNCommitParameters parameters)
Sets commit parameters to use.

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

Method Detail

doCollectCommitItems

public SVNCommitPacket doCollectCommitItems(File[] paths, boolean keepLocks, boolean force, boolean recursive)
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. Further this commit packet can be passed to doCommit().

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 EMPTY is returned

Throws: SVNException

See Also: SVNCommitItem

doCollectCommitItems

public SVNCommitPacket[] doCollectCommitItems(File[] paths, boolean keepLocks, boolean force, boolean recursive, boolean combinePackets)
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 allows to prepare commit packets for different Working Copies located "belonging" different repositories. Separate packets will be committed separately. If the repository is the same for all the paths, then all collected commit packets can be combined into a single one and committed in a single transaction.

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

See Also: SVNCommitItem

doCommit

public SVNCommitInfo doCommit(File[] paths, boolean keepLocks, String commitMessage, boolean force, boolean recursive)
Committs local changes made to the Working Copy items (provided as an array of java.io.Files) to the repository.

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

See Also: SVNCommitClient

doCommit

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

commitPacket contains 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 (File[], boolean, boolean, boolean) 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:

doCommit

public SVNCommitInfo[] doCommit(SVNCommitPacket[] commitPackets, boolean keepLocks, String commitMessage)
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 (File[], boolean, boolean, boolean) 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.

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

doDelete

public SVNCommitInfo doDelete(SVNURL[] urls, String commitMessage)
Committs removing specified URL-paths from the repository.

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:

doImport

public SVNCommitInfo doImport(File path, SVNURL dstURL, String commitMessage, boolean recursive)
Committs an addition of a local unversioned file or directory into the repository. If the destination URL (dstURL) contains any non-existent parent directories they will be automatically created by the server.

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:

doImport

public SVNCommitInfo doImport(File path, SVNURL dstURL, String commitMessage, boolean useGlobalIgnores, boolean recursive)
Committs an addition of a local unversioned file or directory into the repository. If the destination URL (dstURL) contains any non-existent parent directories they will be automatically created by the server.

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 isIgnored()) 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:

doMkDir

public SVNCommitInfo doMkDir(SVNURL[] urls, String commitMessage)
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

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: setCommitHander ISVNCommitHandler DefaultSVNCommitHandler

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

setCommitHander

public void setCommitHander(ISVNCommitHandler handler)

Deprecated: use setCommitHandler 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

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

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