[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] ISSUE #3193 Fix peg revision parsing for CLI repository root relative urls.

From: Troy Curtis Jr <troycurtisjr_at_gmail.com>
Date: Sun, 11 May 2008 15:57:30 -0500

My improved patch for fixing the peg revision support while parsing repository
root urls. I consolidated what I had previously split into two parts at
Blair's request once I figured out that applying the first patch caused 3 test
failures as a result of improperly parsing peg revision for "real" targets.

The improvement here is using the new split_arg_at_peg_revision() function
inside svn_opt_parse_path(). This was suggested by Daniel Shahaf to further
reduce duplication of peg revision parsing.

[[[
Fix peg revision support for repository root urls to address issue #3193.

Move the duplicated peg revision parsing functionality from
svn_client_args_to_target_array() and svn_opt_args_to_target_array3() into
the common functions svn_opt__arg_canonicalize_url() and
svn_opt__arg_canonicalize_path().

* 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_parse_path): Replace in-line peg revision parsing with the new
    split_arg_at_peg_revision() function.
  (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().

* subversion/tests/cmdline/basic_tests.py
  (basic_relative_url_with_peg_revisions): New test functions.
  (test_list): Call the new test function.
]]]

Troy

-- 
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-05-11 22:57:47 CEST

This is an archived mail posted to the Subversion Dev mailing list.