pub unsafe extern "C" fn svn_client_args_to_target_array2(
targets_p: *mut *mut apr_array_header_t,
os: *mut apr_getopt_t,
known_targets: *const apr_array_header_t,
ctx: *mut svn_client_ctx_t,
keep_last_origpath_on_truepath_collision: svn_boolean_t,
pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description
Pull remaining target arguments from @a os into @a *targets_p, converting them to UTF-8, followed by targets from @a 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 @a 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 @a *targets_p and its elements in @a pool.
@a 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