org.tmatesoft.svn.core.wc

## Class SVNChangelistClient

- java.lang.Object
- - org.tmatesoft.svn.core.wc.SVNBasicClient
  - - org.tmatesoft.svn.core.wc.SVNChangelistClient

    public class SVNChangelistClient
    extends SVNBasicClient

The SVNChangelistClient provides API for managing changelists.

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

SVNKit | Subversion
doAddToChangelist() | 'svn changelist CLNAME TARGET'
doRemoveFromChangelist() | 'svn changelist --remove TARGET'

Since:
  1.2
Version:
  1.3
Author:
  TMate Software Ltd.

### Constructor Summary

Constructors
Constructor and Description
`SVNChangelistClient(ISVNAuthenticationManager authManager, ISVNOptions options)` Constructs and initializes an SVNChangelistClient object with the specified run-time configuration and authentication drivers.
`SVNChangelistClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)` Constructs and initializes an SVNChangelistClient object with the specified run-time configuration and repository pool object.

### Method Summary

Methods
`void` `addToChangelist(java.io.File[] paths, SVNDepth depth, java.lang.String changelist, java.lang.String[] changelists)` Deprecated. use `doAddToChangelist(File[], SVNDepth, String, String[])` instead
`void` `doAddToChangelist(java.io.File[] paths, SVNDepth depth, java.lang.String changelist, java.lang.String[] changelists)` Adds each path in `paths` (recursing to `depth` as necessary) to `changelist`.
`void` `doGetChangeListPaths(java.util.Collection<java.lang.String> changeLists, java.util.Collection<java.io.File> targets, SVNDepth depth, ISVNChangelistHandler handler)` Gets paths belonging to the specified changelists discovered under the specified targets.
`void` `doGetChangeLists(java.io.File path, java.util.Collection<java.lang.String> changeLists, SVNDepth depth, ISVNChangelistHandler handler)` Gets paths belonging to the specified changelists discovered under the specified path.
`void` `doRemoveFromChangelist(java.io.File[] paths, SVNDepth depth, java.lang.String[] changelists)` Removes each path in `paths` (recursing to `depth` as necessary) from changelists to which they are currently assigned.
`void` `getChangeListPaths(java.util.Collection<java.lang.String> changeLists, java.util.Collection<java.io.File> targets, SVNDepth depth, ISVNChangelistHandler handler)` Deprecated. use `doGetChangeListPaths(Collection, Collection, SVNDepth, ISVNChangelistHandler)` instead
`void` `getChangeLists(java.io.File path, java.util.Collection<java.lang.String> changeLists, SVNDepth depth, ISVNChangelistHandler handler)` Deprecated. use `doGetChangeLists(File, Collection, SVNDepth, ISVNChangelistHandler)` instead
`void` `removeFromChangelist(java.io.File[] paths, SVNDepth depth, java.lang.String[] changelists)` Deprecated. use `doRemoveFromChangelist(File[], SVNDepth, String[])` instead

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

#### SVNChangelistClient

    public SVNChangelistClient(ISVNAuthenticationManager authManager,
                       ISVNOptions options)

Constructs and initializes an SVNChangelistClient object with the specified run-time configuration and authentication drivers.

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

#### SVNChangelistClient

    public SVNChangelistClient(ISVNRepositoryPool repositoryPool,
                       ISVNOptions options)

Constructs and initializes an SVNChangelistClient object with the specified run-time configuration and repository pool object.

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

#### getChangeLists

    public void getChangeLists(java.io.File path,
                      java.util.Collection<java.lang.String> changeLists,
                      SVNDepth depth,
                      ISVNChangelistHandler handler)
                        throws SVNException

Deprecated. use `doGetChangeLists(File, Collection, SVNDepth, ISVNChangelistHandler)` instead

Parameters:
  `path` -
  `changeLists` -
  `depth` -
  `handler` -
Throws:
  `SVNException`

#### getChangeListPaths

    public void getChangeListPaths(java.util.Collection<java.lang.String> changeLists,
                          java.util.Collection<java.io.File> targets,
                          SVNDepth depth,
                          ISVNChangelistHandler handler)
                            throws SVNException

Deprecated. use `doGetChangeListPaths(Collection, Collection, SVNDepth, ISVNChangelistHandler)` instead

Parameters:
  `changeLists` -
  `targets` -
  `depth` -
  `handler` -
Throws:
  `SVNException`

#### addToChangelist

    public void addToChangelist(java.io.File[] paths,
                       SVNDepth depth,
                       java.lang.String changelist,
                       java.lang.String[] changelists)
                         throws SVNException

Deprecated. use `doAddToChangelist(File[], SVNDepth, String, String[])` instead

Parameters:
  `paths` -
  `depth` -
  `changelist` -
  `changelists` -
Throws:
  `SVNException`

#### removeFromChangelist

    public void removeFromChangelist(java.io.File[] paths,
                            SVNDepth depth,
                            java.lang.String[] changelists)
                              throws SVNException

Deprecated. use `doRemoveFromChangelist(File[], SVNDepth, String[])` instead

Parameters:
  `paths` -
  `depth` -
  `changelists` -
Throws:
  `SVNException`

#### doAddToChangelist

    public void doAddToChangelist(java.io.File[] paths,
                         SVNDepth depth,
                         java.lang.String changelist,
                         java.lang.String[] changelists)
                           throws SVNException

Adds each path in `paths` (recursing to `depth` as necessary) to `changelist`. If a path is already a member of another changelist, then removes it from the other changelist and adds it to `changelist`. (For now, a path cannot belong to two changelists at once.)

`changelists` is an array of `String` changelist names, used as a restrictive filter on items whose changelist assignments are adjusted; that is, doesn't tweak the changeset of any item unless it's currently a member of one of those changelists. If `changelists` is empty (or null), no changelist filtering occurs.

Note: this metadata is purely a client-side "bookkeeping" convenience, and is entirely managed by the working copy.

Note: this method does not require repository access.

Parameters:
  `paths` - working copy paths to add to `changelist`
  `depth` - tree depth to process
  `changelist` - name of the changelist to add new paths to
  `changelists` - collection of changelist names as a filter
Throws:
  `SVNException`
Since:
  1.2.0, New in SVN 1.5.0

#### doRemoveFromChangelist

    public void doRemoveFromChangelist(java.io.File[] paths,
                              SVNDepth depth,
                              java.lang.String[] changelists)
                                throws SVNException

Removes each path in `paths` (recursing to `depth` as necessary) from changelists to which they are currently assigned.

`changelists` is an array of `String` changelist names, used as a restrictive filter on items whose changelist assignments are removed; that is, doesn't remove from a changeset any item unless it's currently a member of one of those changelists. If `changelists` is empty (or null), all changelist assignments in and under each path in `paths` (to `depth`) will be removed.

Note: this metadata is purely a client-side "bookkeeping" convenience, and is entirely managed by the working copy.

Note: this method does not require repository access.

Parameters:
  `paths` - paths to remove from any changelists
  `depth` - tree depth to process
  `changelists` - collection of changelist names as a filter
Throws:
  `SVNException`
Since:
  1.2.0, New in SVN 1.5.0

#### doGetChangeListPaths

    public void doGetChangeListPaths(java.util.Collection<java.lang.String> changeLists,
                            java.util.Collection<java.io.File> targets,
                            SVNDepth depth,
                            ISVNChangelistHandler handler)
                              throws SVNException

Gets paths belonging to the specified changelists discovered under the specified targets.

This method is just like `doGetChangeLists(File, Collection, SVNDepth, ISVNChangelistHandler)` except for it operates on multiple targets instead of a single one.

Note: this method does not require repository access.

Parameters:
  `changeLists` - collection of changelist names
  `targets` - working copy paths to operate on
  `depth` - tree depth to process
  `handler` - caller's handler to receive path-to-changelist information
Throws:
  `SVNException`

#### doGetChangeLists

    public void doGetChangeLists(java.io.File path,
                        java.util.Collection<java.lang.String> changeLists,
                        SVNDepth depth,
                        ISVNChangelistHandler handler)
                          throws SVNException

Gets paths belonging to the specified changelists discovered under the specified path.

Beginning at `path`, crawls to `depth` to discover every path in or under `path`which belongs to one of the changelists in `changeLists` (a collection of `String` changelist names). If `changeLists` is null, discovers paths with any changelist. Calls `handler` each time a changelist-having path is discovered.

If there was an event handler provided via `SVNBasicClient.setEventHandler(ISVNEventHandler)`, then its `ISVNCanceller.checkCancelled()` will be invoked during the recursive walk.

Note: this method does not require repository access.``

Parameters:
  `path` - target working copy path
  `changeLists` - collection of changelist names
  `depth` - tree depth to process
  `handler` - caller's handler to receive path-to-changelist information
Throws:
  `SVNException`
Since:
  1.2.0, New in SVN 1.5.0