Loading...
Searching...
No Matches
Client command-line processing
Client supporting subsystem

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

## 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