# Client Changelist Functions
[Client working copy management]

Changelist commands. More...

## Functions
svn_error_t * | svn_client_add_to_changelist (const apr_array_header_t *paths, const char *changelist, svn_depth_t depth, const apr_array_header_t *changelists, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Implementation note:
svn_error_t * | svn_client_remove_from_changelists (const apr_array_header_t *paths, svn_depth_t depth, const apr_array_header_t *changelists, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Remove each path in paths (recursing to depth as necessary) from changelists to which they are currently assigned.
svn_error_t * | svn_client_get_changelists (const char *path, const apr_array_header_t *changelists, svn_depth_t depth, svn_changelist_receiver_t callback_func, void *callback_baton, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Beginning at path, crawl to depth to discover every path in or under path which belongs to one of the changelists in changelists (an array of `const char *` changelist names).

## Detailed Description

Changelist commands.

## Function Documentation

svn_error_t* svn_client_add_to_changelist | ( | const apr_array_header_t * | paths,
|  | const char * | changelist,
|  | svn_depth_t | depth,
|  | const apr_array_header_t * | changelists,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Implementation note:

For now, changelists are implemented by scattering the associations across multiple .svn/entries files in a working copy. However, this client API was written so that we have the option of changing the underlying implementation -- we may someday want to store changelist definitions in a centralized database. Add each path in paths (recursing to depth as necessary) to changelist. If a path is already a member of another changelist, then remove it from the other changelist and add it to changelist. (For now, a path cannot belong to two changelists at once.)

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

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

Since:
  New in 1.5.

svn_error_t* svn_client_get_changelists | ( | const char * | path,
|  | const apr_array_header_t * | changelists,
|  | svn_depth_t | depth,
|  | svn_changelist_receiver_t | callback_func,
|  | void * | callback_baton,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Beginning at path, crawl to depth to discover every path in or under path which belongs to one of the changelists in changelists (an array of `const char *` changelist names).

If changelists is `NULL`, discover paths with any changelist. Call callback_func (with callback_baton) each time a changelist-having path is discovered.

If ctx->cancel_func is not `NULL`, invoke it passing ctx->cancel_baton during the recursive walk.

Since:
  New in 1.5.

svn_error_t* svn_client_remove_from_changelists | ( | const apr_array_header_t * | paths,
|  | svn_depth_t | depth,
|  | const apr_array_header_t * | changelists,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

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

changelists is an array of `const char *` changelist names, used as a restrictive filter on items whose changelist assignments are removed; that is, don't remove from a changeset any item unless it's currently a member of one of those changelists. If changelists is empty (or altogether `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.

Since:
  New in 1.5.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines