# Export a tree from version control.
[Client working copy management]

## Functions
svn_error_t * | svn_client_export5 (svn_revnum_t *result_rev, const char *from_path_or_url, const char *to_path, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *revision, svn_boolean_t overwrite, svn_boolean_t ignore_externals, svn_boolean_t ignore_keywords, svn_depth_t depth, const char *native_eol, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Export the contents of either a subversion repository or a subversion working copy into a 'clean' directory (meaning a directory with no administrative directories).
svn_error_t * | svn_client_export4 (svn_revnum_t *result_rev, const char *from_path_or_url, const char *to_path, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *revision, svn_boolean_t overwrite, svn_boolean_t ignore_externals, svn_depth_t depth, const char *native_eol, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Similar to svn_client_export5(), but with ignore_keywords set to FALSE.
svn_error_t * | svn_client_export3 (svn_revnum_t *result_rev, const char *from_path_or_url, const char *to_path, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *revision, svn_boolean_t overwrite, svn_boolean_t ignore_externals, svn_boolean_t recurse, const char *native_eol, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Similar to svn_client_export4(), but with depth set according to recurse: if recurse is TRUE, set depth to svn_depth_infinity, if recurse is FALSE, set depth to svn_depth_files.
svn_error_t * | svn_client_export2 (svn_revnum_t *result_rev, const char *from_path_or_url, const char *to_path, svn_opt_revision_t *revision, svn_boolean_t force, const char *native_eol, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Similar to svn_client_export3(), but with peg_revision always set to svn_opt_revision_unspecified, overwrite set to the value of force, ignore_externals always FALSE, and recurse always TRUE.
svn_error_t * | svn_client_export (svn_revnum_t *result_rev, const char *from_path_or_url, const char *to_path, svn_opt_revision_t *revision, svn_boolean_t force, svn_client_ctx_t *ctx, apr_pool_t *pool)
| Similar to svn_client_export2(), but with native_eol always set to NULL.

## Function Documentation

svn_error_t* svn_client_export | ( | svn_revnum_t * | result_rev,
|  | const char * | from_path_or_url,
|  | const char * | to_path,
|  | svn_opt_revision_t * | revision,
|  | svn_boolean_t | force,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_client_export2(), but with native_eol always set to NULL.

Deprecated:
  Provided for backward compatibility with the 1.0 API.

svn_error_t* svn_client_export2 | ( | svn_revnum_t * | result_rev,
|  | const char * | from_path_or_url,
|  | const char * | to_path,
|  | svn_opt_revision_t * | revision,
|  | svn_boolean_t | force,
|  | const char * | native_eol,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_client_export3(), but with peg_revision always set to svn_opt_revision_unspecified, overwrite set to the value of force, ignore_externals always FALSE, and recurse always TRUE.

Since:
  New in 1.1.

Deprecated:
  Provided for backward compatibility with the 1.1 API.

svn_error_t* svn_client_export3 | ( | svn_revnum_t * | result_rev,
|  | const char * | from_path_or_url,
|  | const char * | to_path,
|  | const svn_opt_revision_t * | peg_revision,
|  | const svn_opt_revision_t * | revision,
|  | svn_boolean_t | overwrite,
|  | svn_boolean_t | ignore_externals,
|  | svn_boolean_t | recurse,
|  | const char * | native_eol,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_client_export4(), but with depth set according to recurse: if recurse is TRUE, set depth to svn_depth_infinity, if recurse is FALSE, set depth to svn_depth_files.

Deprecated:
  Provided for backward compatibility with the 1.4 API.

Since:
  New in 1.2.

svn_error_t* svn_client_export4 | ( | svn_revnum_t * | result_rev,
|  | const char * | from_path_or_url,
|  | const char * | to_path,
|  | const svn_opt_revision_t * | peg_revision,
|  | const svn_opt_revision_t * | revision,
|  | svn_boolean_t | overwrite,
|  | svn_boolean_t | ignore_externals,
|  | svn_depth_t | depth,
|  | const char * | native_eol,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Similar to svn_client_export5(), but with ignore_keywords set to FALSE.

Deprecated:
  Provided for backward compatibility with the 1.6 API.

Since:
  New in 1.5.

svn_error_t* svn_client_export5 | ( | svn_revnum_t * | result_rev,
|  | const char * | from_path_or_url,
|  | const char * | to_path,
|  | const svn_opt_revision_t * | peg_revision,
|  | const svn_opt_revision_t * | revision,
|  | svn_boolean_t | overwrite,
|  | svn_boolean_t | ignore_externals,
|  | svn_boolean_t | ignore_keywords,
|  | svn_depth_t | depth,
|  | const char * | native_eol,
|  | svn_client_ctx_t * | ctx,
|  | apr_pool_t * | pool |
| ) |  |  |

Export the contents of either a subversion repository or a subversion working copy into a 'clean' directory (meaning a directory with no administrative directories).

If result_rev is not `NULL` and the path being exported is a repository URL, set *result_rev to the value of the revision actually exported (set it to SVN_INVALID_REVNUM for local exports).

from_path_or_url is either the path the working copy on disk, or a URL to the repository you wish to export.

When exporting a directory, to_path is the path to the directory where you wish to create the exported tree; when exporting a file, it is the path of the file that will be created. If to_path is the empty path, then the basename of the export file/directory in the repository will be used. If to_path represents an existing directory, and a file is being exported, then a file with the that basename will be created under that directory (as with 'copy' operations).

peg_revision is the revision where the path is first looked up when exporting from a repository. If peg_revision->kind is svn_opt_revision_unspecified, then it defaults to svn_opt_revision_head for URLs or svn_opt_revision_working for WC targets.

revision is the revision that should be exported, which is only used when exporting from a repository.

peg_revision and revision must not be `NULL`.

ctx->notify_func2 and ctx->notify_baton2 are the notification functions and baton which are passed to svn_client_checkout() when exporting from a repository.

ctx is a context used for authentication in the repository case.

overwrite if TRUE will cause the export to overwrite files or directories.

If ignore_externals is set, don't process externals definitions as part of this operation.

If ignore_keywords is set, don't expand keywords as part of this operation.

native_eol allows you to override the standard eol marker on the platform you are running on. Can be either "LF", "CR" or "CRLF" or NULL. If NULL will use the standard eol marker. Any other value will cause the SVN_ERR_IO_UNKNOWN_EOL error to be returned.

If depth is svn_depth_infinity, export fully recursively. Else if it is svn_depth_immediates, export from_path_or_url and its immediate children (if any), but with subdirectories empty and at svn_depth_empty. Else if svn_depth_files, export from_path_or_url and its immediate file children (if any) only. If depth is svn_depth_empty, then export exactly from_path_or_url and none of its children.

All allocations are done in pool.

Since:
  New in 1.7.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines