# Checkout
[Client working copy management]

## Functions
svn_error_t * | svn_client_checkout3 (svn_revnum_t *result_rev, const char *URL, const char *path, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *revision, svn_depth_t depth, svn_boolean_t ignore_externals, svn_boolean_t allow_unver_obstructions, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Checkout a working copy from a repository.
svn_error_t * | svn_client_checkout2 (svn_revnum_t *result_rev, const char *URL, const char *path, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *revision, svn_boolean_t recurse, svn_boolean_t ignore_externals, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Similar to svn_client_checkout3() but with allow_unver_obstructions always set to FALSE, and depth set according to recurse: if recurse is TRUE, depth is svn_depth_infinity, if recurse is FALSE, depth is svn_depth_files.
svn_error_t * | svn_client_checkout (svn_revnum_t *result_rev, const char *URL, const char *path, const svn_opt_revision_t *revision, svn_boolean_t recurse, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Similar to svn_client_checkout2(), but with peg_revision always set to svn_opt_revision_unspecified and ignore_externals always set to FALSE.

## Function Documentation

svn_error_t* svn_client_checkout | ( | svn_revnum_t * | result_rev,
|  | const char * | URL,
|  | const char * | path,
|  | const svn_opt_revision_t * | revision,
|  | svn_boolean_t | recurse,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_client_checkout2(), but with peg_revision always set to svn_opt_revision_unspecified and ignore_externals always set to FALSE.

Deprecated:
  Provided for backward compatibility with the 1.1 API.

svn_error_t* svn_client_checkout2 | ( | svn_revnum_t * | result_rev,
|  | const char * | URL,
|  | const char * | path,
|  | const svn_opt_revision_t * | peg_revision,
|  | const svn_opt_revision_t * | revision,
|  | svn_boolean_t | recurse,
|  | svn_boolean_t | ignore_externals,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_client_checkout3() but with allow_unver_obstructions always set to FALSE, and depth set according to recurse: if recurse is TRUE, depth is svn_depth_infinity, if recurse is FALSE, depth is svn_depth_files.

Deprecated:
  Provided for backward compatibility with the 1.4 API.

svn_error_t* svn_client_checkout3 | ( | svn_revnum_t * | result_rev,
|  | const char * | URL,
|  | const char * | path,
|  | const svn_opt_revision_t * | peg_revision,
|  | const svn_opt_revision_t * | revision,
|  | svn_depth_t | depth,
|  | svn_boolean_t | ignore_externals,
|  | svn_boolean_t | allow_unver_obstructions,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Checkout a working copy from a repository.

Parameters:

  `[out]` | result_rev | If non-NULL, the value of the revision checked out from the repository.
  `[in]` | URL | The repository URL of the checkout source.
  `[in]` | path | The root of the new working copy.
  `[in]` | peg_revision | The peg revision.
  `[in]` | revision | The operative revision.
  `[in]` | depth | The depth of the operation. If svn_depth_unknown, then behave as if for svn_depth_infinity, except in the case of resuming a previous checkout of path (i.e., updating), in which case use the depth of the existing working copy.
  `[in]` | ignore_externals | If `TRUE`, don't process externals definitions as part of this operation.
  `[in]` | allow_unver_obstructions | If `TRUE`, then tolerate existing unversioned items that obstruct incoming paths. Only obstructions of the same type (file or dir) as the added item are tolerated. The text of obstructing files is left as-is, effectively treating it as a user modification after the checkout. Working properties of obstructing items are set equal to the base properties. If `FALSE`, then abort if there are any unversioned obstructing items.
  `[in]` | ctx | The standard client context, used for authentication and notification.
  `[in]` | pool | Used for any temporary allocation.

Returns:
  A pointer to an svn_error_t of the type (this list is not exhaustive):
  SVN_ERR_UNSUPPORTED_FEATURE if URL refers to a file rather than a directory;
  SVN_ERR_RA_ILLEGAL_URL if URL does not exist;
  SVN_ERR_CLIENT_BAD_REVISION if revision is not one of svn_opt_revision_number, svn_opt_revision_head, or svn_opt_revision_date.
  If no error occurred, return SVN_NO_ERROR.

Since:
  New in 1.5.

See also:
  svn_depth_t
  svn_client_ctx_t
  Revisions and Peg Revisions for a discussion of operative and peg revisions.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines