Augie Fackler <>

r869942, r869237, r869222, r869201, r868180, r866993, r866988

r866988 | epg | 2007-10-03 21:25:41 +0000 (Wed, 03 Oct 2007)

Implement launching an external merge tool for interactive conflict handling.

* subversion/include/svn_error_codes.h
   (SVN_ERR_CL_NO_EXTERNAL_MERGE_TOOL): New. Error code that indicates no merge
    tool could be found.

* subversion/libsvn_subr/svn_config.h
   (SVN_CONFIG_OPTION_MERGE_TOOL_CMD): New. Run-time configuration option for
    the external merging tool to use.

* subversion/libsvn_subr/config_file.c
   (svn_config_ensure): Add a line with some basic documentation for the new
    run-time configuration option.

* subversion/svn/cl.h
   (svn_cl__merge_file_externally): New prototype.

* subversion/svn/util.c
   Include unistd.h.
   (svn_cl__merge_file_externally): New. Used to invoke the user's external
    merge tool on the specified files.

* subversion/svn/conflict-callbacks.c
   Include stdio.h.
   (svn_cl__interactive_conflict_handler): Implement calling an external merge
    tool using svn_cl__merge_file_externally.

Patch by: Augie Fackler <>

r866993 | dlr | 2007-10-03 23:26:39 +0000 (Wed, 03 Oct 2007)

Change a prompt so that all parentheses that get closed get opened.
This is consistent with the style used in the new conflict resolution UI.

* subversion/svn/util.c
  (svn_cl__get_log_message): Change the prompt so that the parentheses are

Patch by: Augie Fackler <>

r868180 | kfogel | 2007-11-28 05:49:40 +0000 (Wed, 28 Nov 2007)

* contrib/client-side/ New file, wraps Mercurial's hgmerge
    script for use with the interactive conflict resolution system.

Patch by: Augie Fackler <>

r869201 | kfogel | 2008-02-01 04:15:40 +0000 (Fri, 01 Feb 2008)

Fix issue #3026: _svn and .svn are silently ignored as file arguments.

Patch by: Augie Fackler: <>
(Test by me.)

First, create some new infrastructure:

* subversion/include/svn_error_codes.h
  (SVN_ERR_RESERVED_FILENAME_SPECIFIED): New error code for when reserved file
    arguments are encountered.

* subversion/libsvn_wc/adm_files.c:
  (svn_wc_set_adm_dir): Updated comment to reflect the change of location for
    the other code block.

* subversion/include/svn_opt.h:
  (svn_opt_args_to_target_array3): New function prototype.

* subversion/libsvn_subr/opt.c:
  (svn_opt_args_to_target_array3): New function. Behaves like 
    svn_opt_args_to_target_array2 except this one returns errors instead of
    silently ignoring reserved file names.
  (svn_opt_args_to_target_array2): Reimplemented to wrap 
    svn_opt_args_to_target_array2 but filter out any error about reserved

* subversion/svn/cl.h:
  (svn_cl__args_to_target_array_print_reserved): New function prototype.

* subversion/svn/util.c:
  (svn_cl__args_to_target_array_print_reserved): New function. Convenience
    function to wrap svn_opt_args_to_target_array3 and print any errors about
    reserved filenames to stderr before returning.

* subversion/bindings/swig/core.i:
  (svn_opt_args_to_target_array3): Ignore this function as well.
Then update all the relevant callers:

* subversion/svn/update-cmd.c:
  (svn_cl__propdel): Use svn_opt_args_to_target_array3 instead of
    svn_opt_args_to_target_array2 so that reserved filenames exit with error.

* subversion/svn/merge-cmd.c:
  (svn_cl__merge): Use svn_cl__args_to_target_array_print_reserved instead of
    svn_opt_args_to_target_array2 so that reserved filenames aren't silently

* subversion/svn/propdel-cmd.c:
  (svn_cl__propdel): Same.

* subversion/svn/checkout-cmd.c:
  (svn_cl__checkout): Same.

* subversion/svn/move-cmd.c:
  (svn_cl__move): Same.

* subversion/svn/mkdir-cmd.c:
  (svn_cl__mkdir): Same.

* subversion/svn/cat-cmd.c:
  (svn_cl__cat): Same.    

* subversion/svn/revert-cmd.c:
  (svn_cl__revert): Same.

* subversion/svn/diff-cmd.c:
  (svn_cl__diff): Same.

* subversion/svn/copy-cmd.c:
  (svn_cl__copy): Same.

* subversion/svn/mergeinfo-cmd.c:
  (svn_cl__mergeinfo): Same.

* subversion/svn/list-cmd.c:
  (svn_cl__list): Same.

* subversion/svn/blame-cmd.c:
  (svn_cl__blame): Same.

* subversion/svn/propget-cmd.c:
  (svn_cl__propget): Same.

* subversion/svn/changelist-cmd.c:
  (svn_cl__changelist): Same.

* subversion/svn/propdel-cmd.c:
  (svn_cl__propdel): Same.

* subversion/svn/log-cmd.c:
  (svn_cl__log): Same.

* subversion/svn/resolved-cmd.c:
  (svn_cl__resloved): Same.

* subversion/svn/cleanup-cmd.c:
  (svn_cl__cleanup): Same.

* subversion/svn/commit-cmd.c:
  (svn_cl__commit): Same.

* subversion/svn/add-cmd.c:
  (svn_cl__add): Same.

* subversion/svn/propset-cmd.c:
  (svn_cl__propset): Same.

* subversion/svn/switch-cmd.c:
  (svn_cl__switch): Same.

* subversion/svn/delete-cmd.c:
  (svn_cl__delete): Same.

* subversion/svn/import-cmd.c:
  (svn_cl__import): Same.

* subversion/svn/proplist-cmd.c:
  (svn_cl__proplist): Same.

* subversion/svn/export-cmd.c:
  (svn_cl__export): Same.

* subversion/svn/propdel-cmd.c:
  (svn_cl__propdel): Same.

* subversion/svn/status-cmd.c:
  (svn_cl__status): Same.

* subversion/svn/propedit-cmd.c:
  (svn_cl__propdel): Same.

* subversion/svn/lock-cmd.c:
  (svn_cl__lock): Same.

* subversion/svn/info-cmd.c:
  (svn_cl__info): Same.

* subversion/svn/unlock-cmd.c:
  (svn_cl__unlock): Same.

Finally, add a test:

* subversion/tests/cmdline/
  (warn_on_reserved_name): New test.
  (test_list): Run it.

r869222 | cmpilato | 2008-02-01 21:12:27 +0000 (Fri, 01 Feb 2008)

Fix a bug in ra_serf where the computed repository root was not canonical,
which caused working copy corruption.

* subversion/libsvn_ra_serf/util.c
  (svn_ra_serf__discover_root): Canonicalize repos_root_str when
    discovering the repository root.

Patch by: Augie Fackler: <>
(Tweaked by me.)

r869237 | kfogel | 2008-02-02 06:00:59 +0000 (Sat, 02 Feb 2008)

Documentation fixes.

Patch by: Augie Fackler: <>

* subversion/include/svn_opt.h
  (svn_opt_args_to_target_array3): Updated documentation to describe how the
    errors work, and make this the version against which the old is compared.
  (svn_opt_args_to_target_array2): Update the documentation so this describes
    how it is different from svn_opt_args_to_target_array3().

r869942 | kfogel | 2008-03-12 01:11:37 +0000 (Wed, 12 Mar 2008)

* CHANGES (1.5.0): Insert preliminary list of changes.

Patch by: Augie Fackler <>
          Greg Lutz <>
          Gavin 'Beau' Baumanis <>
          Hilco Wijbenga <>
          Tuomas Koski <>
          Daniel Torreblanca <>
          Stephen Butler <>
          Wouter van der Horst <>

See the 'manyhands' mailing list for details.