Subversion
Functions
Client command-line processing

Client argument processing. More...

Functions

svn_error_tsvn_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_tsvn_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...
 

Detailed Description

Client argument processing.

Function Documentation

◆ svn_client_args_to_target_array()

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.

Since
Since 1.6.5, this returns an error if a path contains a peg specifier with no path before it, such as "@abc".
Deprecated:
Provided for backward compatibility with the 1.6 API.

◆ svn_client_args_to_target_array2()

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

Since
New in 1.7