Subversion
|
Client argument processing. More...
Functions | |
svn_error_t * | svn_client_args_to_target_array2 (apr_array_header_t **targets_p, apr_getopt_t *os, const apr_array_header_t *known_targets, svn_client_ctx_t *ctx, svn_boolean_t keep_last_origpath_on_truepath_collision, apr_pool_t *pool) |
Pull remaining target arguments from os into *targets_p, converting them to UTF-8, followed by targets from known_targets (which might come from, for example, the "--targets" command line option). More... | |
svn_error_t * | svn_client_args_to_target_array (apr_array_header_t **targets_p, apr_getopt_t *os, const apr_array_header_t *known_targets, svn_client_ctx_t *ctx, apr_pool_t *pool) |
Similar to svn_client_args_to_target_array2() but with keep_last_origpath_on_truepath_collision always set to FALSE. More... | |
Client argument processing.
svn_error_t* svn_client_args_to_target_array | ( | apr_array_header_t ** | targets_p, |
apr_getopt_t * | os, | ||
const apr_array_header_t * | known_targets, | ||
svn_client_ctx_t * | ctx, | ||
apr_pool_t * | pool | ||
) |
Similar to svn_client_args_to_target_array2() but with keep_last_origpath_on_truepath_collision always set to FALSE.
svn_error_t* svn_client_args_to_target_array2 | ( | apr_array_header_t ** | targets_p, |
apr_getopt_t * | os, | ||
const apr_array_header_t * | known_targets, | ||
svn_client_ctx_t * | ctx, | ||
svn_boolean_t | keep_last_origpath_on_truepath_collision, | ||
apr_pool_t * | pool | ||
) |
Pull remaining target arguments from os into *targets_p, converting them to UTF-8, followed by targets from known_targets (which might come from, for example, the "--targets" command line option).
Process each target in one of the following ways. For a repository- relative URL: resolve to a full URL, contacting the repository if necessary to do so, and then treat as a full URL. For a URL: do some IRI-to-URI encoding and some auto-escaping, and canonicalize. For a local path: canonicalize case and path separators.
If keep_last_origpath_on_truepath_collision is TRUE, and there are exactly two targets which both case-canonicalize to the same path, the last target will be returned in the original non-case-canonicalized form.
Allocate *targets_p and its elements in pool.
ctx is required for possible repository authentication.
If a path has the same name as a Subversion working copy administrative directory, return SVN_ERR_RESERVED_FILENAME_SPECIFIED; if multiple reserved paths are encountered, return a chain of errors, all of which are SVN_ERR_RESERVED_FILENAME_SPECIFIED. Do not return this type of error in a chain with any other type of error, and if this is the only type of error encountered, complete the operation before returning the error(s).
Return an error if a target is just a peg specifier with no path, such as "@abc". Before v1.6.5 (r878062) this form was interpreted as a literal path; it is now ambiguous. The form "@abc@" should now be used to refer to the literal path "@abc" with no peg revision, or the form ".@abc" to refer to the empty path with peg revision "abc".