SVNKit Home

## org.tmatesoft.svn.core.wc
Class SVNCommitClient

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

All Implemented Interfaces:
  ISVNCanceller, ISVNEventHandler

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

Nested Class Summary

Nested classes inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient
`SVNBasicClient.RepositoryReference, SVNBasicClient.SVNRepositoryLocation`

Field Summary

Fields inherited from interface org.tmatesoft.svn.core.wc.ISVNEventHandler
`UNKNOWN`

Fields inherited from interface org.tmatesoft.svn.core.ISVNCanceller
`NULL`

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
`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.
`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.
`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 `File`s) to the repository.
`SVNCommitInfo[]` `doCommit(SVNCommitPacket[] commitPackets, boolean keepLocks, String commitMessage)` Committs local changes, made to the Working Copy items, to the repository.
`SVNCommitInfo` `doCommit(SVNCommitPacket commitPacket, boolean keepLocks, String commitMessage)` Committs local changes made to the Working Copy items to the repository.
`SVNCommitInfo` `doDelete(SVNURL[] urls, String commitMessage)` Committs removing specified URL-paths from the repository.
`SVNCommitInfo` `doImport(File path, SVNURL dstURL, String commitMessage, boolean recursive)` Committs an addition of a local unversioned file or directory into the repository.
`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.
`SVNCommitInfo` `doMkDir(SVNURL[] urls, String commitMessage)` Committs a creation of a new directory/directories in the 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.
`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

`checkCancelled, createRepository, createRepository, createRepository, createWCAccess, createWCAccess, dispatchEvent, dispatchEvent, getDebugLog, getEventDispatcher, getLocations, getOptions, getRepositoryPool, getRevisionNumber, getURL, handleEvent, isIgnoreExternals, isLeaveConflictsUnresolved, setDebugLog, setEventHandler, setEventPathPrefix, setIgnoreExternals, setLeaveConflictsUnresolved, setOptions, sleepForTimeStamp`

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)

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 previousely 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,
                                  String commitMessage)
                           throws SVNException

  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:
    - a URL does not exist
    - probably some of URLs refer to different repositories

### doMkDir

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

### doImport

    public SVNCommitInfo doImport(File path,
                                  SVNURL dstURL,
                                  String commitMessage,
                                  boolean recursive)
                           throws SVNException

  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:
    - `dstURL` is invalid
    - the path denoted by `dstURL` already exists
    - `path` contains a reserved name - '.svn'

### doImport

    public SVNCommitInfo doImport(File path,
                                  SVNURL dstURL,
                                  String commitMessage,
                                  boolean useGlobalIgnores,
                                  boolean recursive)
                           throws SVNException

  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:
    - `dstURL` is invalid
    - the path denoted by `dstURL` already exists
    - `path` contains a reserved name - '.svn'

### doCommit

    public SVNCommitInfo doCommit(File[] paths,
                                  boolean keepLocks,
                                  String commitMessage,
                                  boolean force,
                                  boolean recursive)
                           throws SVNException

  Committs local changes made to the Working Copy items (provided as an array of `File`s) 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:
    `doCommit(SVNCommitPacket, boolean, String)`

### doCommit

    public SVNCommitInfo doCommit(SVNCommitPacket commitPacket,
                                  boolean keepLocks,
                                  String commitMessage)
                           throws SVNException

  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 `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[] commitPackets,
                                    boolean keepLocks,
                                    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.

  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`

### doCollectCommitItems

    public SVNCommitPacket doCollectCommitItems(File[] paths,
                                                boolean keepLocks,
                                                boolean force,
                                                boolean recursive)
                                         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 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 `SVNCommitPacket.EMPTY` is returned
  Throws:
    `SVNException`
  See Also:
    `SVNCommitItem`

### doCollectCommitItems

    public SVNCommitPacket[] doCollectCommitItems(File[] paths,
                                                  boolean keepLocks,
                                                  boolean force,
                                                  boolean recursive,
                                                  boolean combinePackets)
                                           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 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`

SVNKit Home

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