You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Gabriela Gibson <ga...@gmail.com> on 2013/05/13 23:53:14 UTC
Re: Diff Project --invoke-diff-cmd part
Hi,
thanks for all the comments and help, here is the next attempt.
Gabriela
[[[
Add new diff option "--invoke-diff-cmd" which allows the user to
define a custom command line or config file entry for an external
diff program.
* subversion/include/svn_client.h
(svn_client_diff7, svn_client_diff_peg7): Declare the new API. Like
svn_client_diff[_peg]6 but with invoke_diff_cmd parameter.
(svn_client_diff6, svn_client_diff_peg_6): Deprecate.
* subversion/include/svn_config.h
(SVN_CONFIG_OPTION_INVOKE_DIFF_CMD): New definition.
* subversion/include/svn_io.h
(svn_io_create_custom_diff_cmd): New function.
(svn_io_run_external_diff): New function.
* subversion/libsvn_client/deprecated.c
(svn_client_diff6, svn_client_diff_peg6): New deprecation wrappers.
* subversion/libsvn_client/diff.c
(struct diff_cmd_baton): New member: 'invoke_diff_cmd'.
(diff_content_changed): Call svn_io_run_external_diff if
--invoke-diff-cmd option was specified, otherwise retain previous
behaviour.
(set_up_diff_cmd_and_options): Apply invoke-diff-cmd option
preferentially. Old behavior unchanged.
(svn_client_diff_peg_7): Rename and update from
svn_client_diff_peg_6. Add new parameter: invoke_diff_cmd.
(svn_client_diff7): Rename and update from svn_client_diff6, add
new parameter 'invoke_diff_cmd'.
(): Update all comments mentioning 'svn_client_diff6' to
'svn_client_diff7'.
* subversion/libsvn_subr/config_file.c
(svn_config_ensure): New entry: invoke-diff-cmd.
* subversion/libsvn_subr/io.c
(svn_io_create_custom_diff_cmd): New function.
(svn_io_run_external_diff): New function.
* subversion/svn/cl.h
(struct svn_cl__opt_state_t.diff): New member: 'invoke_diff_cmd'.
* subversion/svn/diff-cmd.c
(svn_cl__diff): Update call to svn_client_diff6 to svn_client_diff7.
* subversion/svn/svn.c
(svn_cl__options[]): Add help info and new variable:
'opt_invoke_diff_cmd'.
(svn_cl__cmd_table[]): New option: 'invoke-diff-cmd'.
(sub_main): Prohibit simultaneous usage of --invoke-diff-cmd and
--internal-diff. Add new opt_state.diff.invoke-diff-cmd option
to the option selector. Add call to svn_config_set.
* subversion/tests/cmdline/diff_tests.py
(diff_invoke_external_diffcmd): New function.
(test_list): Add new entry 'diff_invoke_external_diffcmd'.
* tools/hook-scripts/argv_dump.pl
(New File): Perl script that enumerates output by svn to assist with
testing.
]]]
Re: Diff Project --invoke-diff-cmd part
Posted by Gabriela Gibson <ga...@gmail.com>.
Hi,
I made a feature branch for the project here:
https://svn.apache.org/repos/asf/subversion/branches/invoke-diff-cmd-feature/
Gabriela
Re: Diff Project --invoke-diff-cmd part
Posted by Gabriela Gibson <ga...@gmail.com>.
On 13/05/13 22:53, Gabriela Gibson wrote:
> Hi,
>
> thanks for all the comments and help, here is the next attempt.
>
> Gabriela
>
Sorry I had one mistake in the patch that has now been fixed.
Please ignore the patch in the previous post, the attached patch is the
working one.
Gabriela