Here are my fixes for the issues brought up last night and earlier today. The
tests are not in C because they require a working copy and repository
structure like that provided in cmdline.
[[[
Correctly handle non-canonical targets and targets containing peg revisions
while parsing repository root relative urls.
* subversion/libsvn_subr/opt.c
(split_arg_at_peg_revision): New function.
(svn_opt__arg_canonicalize_url,
svn_opt__arg_canonicalize_path): Allow the input argument to contain a peg
revision specifier, and preserve it in the output utilizing
split_arg_at_peg_revision().
(svn_opt_args_to_target_array3): Remove the peg revision preserving logic,
relying instead on the new peg revision support in
svn_opt__arg_canonicalize_path() and svn_opt__arg_canonicalize_url().
* subversion/include/private/svn_opt_private.h
(svn_opt__arg_canonicalize_url,
svn_opt__arg_canonicalize_path): Update the doc string to reflect the fact
that these functions can handle a peg revision in the input argument.
* subversion/libsvn_client/cmdline.c
(svn_client_args_to_target_array): Remove the peg revision preserving logic,
relying instead on the new peg support in svn_opt__arg_canonicalize_path()
and svn_opt__arg_canonicalize_url().
(resolve_repos_relative_url): Fix an assertion failure in svn_path_join() by
replacing it with apr_pstrcat() so that there is not a requirement that the
input arguments be canonical. Also updated the doc string to reflect this.
* subversion/tests/cmdline/basic_tests.py
(basic_relative_url_non_canonical): New test function.
(basic_relative_url_with_peg_revisions): New test functions.
(test_list): Call the new test functions.
]]]
--
Beware of spyware. If you can, use the Firefox browser. - USA Today
Download now at http://getfirefox.com
Registered Linux User #354814 ( http://counter.li.org/)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-04-30 00:12:00 CEST