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).

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.