Troy Curtis Jr <troycurtisjr@gmail.com>


Found Patch
r862063 r871532, r871091, r870934, r870827, r867580

r871532 | kfogel | 2008-05-26 16:21:08 -0500 (Mon, 26 May 2008)

Fix peg revision support for repository root urls to address issue
#3193.  Along the way, unify some aspects of peg revision parsing into
a new helper function.

Patch by: Troy Curtis Jr <troycurtisjr@gmail.com>
(Only minor tweaks by me.)

* subversion/include/private/svn_opt_private.h
  (svn_opt__split_arg_at_peg_revision): New prototype.

* subversion/libsvn_subr/opt.c
  (svn_opt__split_arg_at_peg_revision): New function.
  (svn_opt_parse_path, svn_opt_args_to_target_array3): Replace in-line
    peg revision parsing with call to new function.

* subversion/libsvn_client/cmdline.c
  (svn_opt_args_to_target_array3): Same.

* subversion/include/svn_opt.h 
  (svn_opt_parse_path): Document error behavior more precisely.

* subversion/tests/cmdline/basic_tests.py
  (basic_relative_url_with_peg_revisions): New test.
  (test_list): Run it.


r871091 | danielsh | 2008-05-04 12:09:51 -0500 (Sun, 04 May 2008)

Fix an assertion failure when a user inputs a non-canonical repository root
relative url.

Patch by: Troy Curtis Jr <troycurtisjr@gmail.com>

* subversion/libsvn_client/cmdline.c
   (resolve_repos_relative_url): Avoid 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 update the doc string to reflect
   this.

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

r870934 | danielsh | 2008-04-30 00:09:28 -0500 (Wed, 30 Apr 2008)

Add some notes on the syntax of the repository root relative url support in
the svn command-line client.  Also include known issues with some shells'
special treatment of the '^' character.

Patch by: Troy Curtis Jr <troycurtisjr@gmail.com>
(Tweaked by me to add examples and reserve '^' URLs.)

* notes/cli-repo-root-relative-support.txt: New file.

r870827 | julianfoad | 2008-04-22 10:21:36 -0500 (Tue, 22 Apr 2008)

Implement repository root relative url support for the svn command-line
client.  This allows the user to use '^/' in front of any target to
mean the repository root url.  The repository root url is determined by
checking the other arguments' root urls (if they exist) and using that common
url.  If none is found the root url of the current directory is used.  If no
common repository root url can be found, an error is generated.

Patch by: Troy Curtis Jr <troycurtisjr@gmail.com>
(minor tweaks by me)

* subversion/include/private/svn_opt_private.h
  New file to hold inter-library svn_opt functions.
  (svn_opt__arg_canonicalize_url): New function prototype.
  (svn_opt__arg_canonicalize_path): New function prototype.

* subversion/include/svn_opt.h
  (svn_opt_args_to_target_array3): Change doc string to reflect deprecated
    status.

* subversion/libsvn_subr/opt.c
  (svn_opt__arg_canonicalize_url): New function to canonicalize user input
    urls.
  (svn_opt__arg_canonicalize_path): New function to canonicalize user input
    paths.
  (svn_opt_args_to_target_array3): Replace the inline canonicalization code
    with calls to the new svn_opt__arg_canonicalize_* functions.

* subversion/include/svn_client.h
  (svn_client_args_to_target_array): New function prototype.

* subversion/libsvn_client/cmdline.c
  New file for client library commandline processing functionality.
  (arg_is_repos_relative_url,
   resolve_repos_relative_url,
   check_root_url_of_target): New functions to support
    svn_client_args_to_target_array.
  (svn_client_args_to_target_array): New client function to parse user
    arguments into a target array.  Replaces use of
    svn_opt_args_to_target_array3().  Remove the replicated knowledge of
    admin directory names, and, as a side effect, don't skip path names
    of "_svn" on systems that don't use that name for the admin dir.

* subversion/tests/libsvn_client/client-test.c
  (test_args_to_target_array): New test function.
  (test_funcs): Run new test function.

* subversion/tests/cmdline/special_tests.py
  (warn_on_reserved_name): Modify test to work right with the new
    svn_client_args_to_target_array().

* subversion/tests/cmdline/basic_tests.py
  (basic_relative_url_multi_repo,
   basic_relative_url_using_other_targets,
   basic_relative_url_using_current_dir): New test functions.
  (test_list): Run new test functions.

* subversion/svn/cl.h
  (svn_cl__args_to_target_array_print_reserved): Add client context parameter.

* subversion/svn/util.c
  (svn_cl__args_to_target_array_print_reserved): Replace call to
    svn_opt_args_to_target_array3() with svn_client_args_to_target_array().

* subversion/svn/update-cmd.c
  (svn_cl__update): Replace svn_opt_args_to_target_array3() with
    svn_cl__args_to_target_array_print_reserved() for consistency with the other
    command line functions.

* subversion/svn/diff-cmd.c
  (svn_cl__diff): Create a client context variable and use it in the
    svn_cl__args_to_target_array_print_reserved() function along with
    everywhere else it is needed.

* subversion/svn/add-cmd.c,
  subversion/svn/blame-cmd.c,
  subversion/svn/cat-cmd.c,
  subversion/svn/changelist-cmd.c,
  subversion/svn/checkout-cmd.c,
  subversion/svn/cleanup-cmd.c,
  subversion/svn/commit-cmd.c,
  subversion/svn/copy-cmd.c,
  subversion/svn/delete-cmd.c,
  subversion/svn/export-cmd.c,
  subversion/svn/import-cmd.c,
  subversion/svn/info-cmd.c,
  subversion/svn/list-cmd.c,
  subversion/svn/lock-cmd.c,
  subversion/svn/log-cmd.c,
  subversion/svn/merge-cmd.c,
  subversion/svn/mergeinfo-cmd.c,
  subversion/svn/mkdir-cmd.c,
  subversion/svn/move-cmd.c,
  subversion/svn/propdel-cmd.c,
  subversion/svn/propedit-cmd.c,
  subversion/svn/propget-cmd.c,
  subversion/svn/proplist-cmd.c,
  subversion/svn/propset-cmd.c,
  subversion/svn/resolve-cmd.c,
  subversion/svn/resolved-cmd.c,
  subversion/svn/revert-cmd.c,
  subversion/svn/status-cmd.c,
  subversion/svn/switch-cmd.c,
  subversion/svn/unlock-cmd.c
    Add client context variable to all the calls to
    svn_cl__args_to_target_array_print_reserved().


r867580 | jpeacock | 2007-10-30 17:29:14 -0500 (Tue, 30 Oct 2007)

Make many functions added since version 1.0 in the Client API visible
to users of the Perl bindings. They are already swig-wrapped, just not
exported. (issue 2646)

* subversion/bindings/swig/perl/native/Repos.pm:
  Export more API functions.
  (POD Documentation): Added entries documenting dump_fs2 and load_fs2.

Patch by: Troy Curtis Jr <troycurtisjr@gmail.com>
          me
Approved by: dlr

r862063 | dlr | 2006-10-16 22:21:03 -0500 (Mon, 16 Oct 2006)

* contrib/client-side/mucc.c
  Add comment on how to build this client.

Suggested by: glasser
Found by: Troy Curtis Jr <troycurtisjr@gmail.com>