You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by gb...@apache.org on 2013/11/05 13:45:48 UTC

svn commit: r1538972 - in /subversion/branches/invoke-diff-cmd-feature: BRANCH-README trunk/

Author: gbg
Date: Tue Nov  5 12:45:48 2013
New Revision: 1538972

URL: http://svn.apache.org/r1538972
Log:
On the invoke-diff-cmd-feature branch: Resend correct BRANCH-README
file which got erroneously replace in the previous commit.  Delete the
trunk which was added by mistake in commit r1538929.

Removed:
    subversion/branches/invoke-diff-cmd-feature/trunk/
Modified:
    subversion/branches/invoke-diff-cmd-feature/BRANCH-README

Modified: subversion/branches/invoke-diff-cmd-feature/BRANCH-README
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/BRANCH-README?rev=1538972&r1=1538971&r2=1538972&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/BRANCH-README (original)
+++ subversion/branches/invoke-diff-cmd-feature/BRANCH-README Tue Nov  5 12:45:48 2013
@@ -106,4 +106,160 @@ TODO:
     plug in config file service into io.c
     add new entry in config file
 
-  * ask on svn-dev how to create a suitable python test.
+To obtain a visitable list of files with line numbers in the Emacs
+compilation buffer:
+
+M-x cd /branches/invoke-diff-cmd-feature/
+M-x compile 
+svn diff ^/subversion/trunk@1531612\
+ ^/subversion/branches/invoke-diff-cmd-feature |\
+ perl -ne '/Index: (.*)$/ && ($name = $1);
+ /^@@.*\+(\d+),/ && print "./$name:$1:diff\n";'
+
+
+Log messages of salient code changes (not including the per file feature)
+=========================================================================
+
+* 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/svn/log-cmd.c 
+
+  (svn_client_diff_peg7): Update call to svn_client_diff_peg6 to
+    svn_client_diff_peg7.
+
+  (log_receiver_baton): New struct member invoke_diff_cmd.
+
+  (display_diff): New parameter 'invoke_diff_cmd' . Pass
+    invoke_diff_cmd parameter into svn_client_diff_peg7().
+
+  (log_entry_receiver): Pass invoke_diff_cmd into display_diff().
+ 
+  (svn_cl__log): Ensure mutual exclusions between invoke_diff_cmd and
+    quiet and diff-cmd, require 'diff' option. Populate
+    log_receiver_baton member invoke_diff_cmd.  
+
+  (svn_cl__options): Expand help info for invoke-diff-cmd option.      
+
+
+* 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.
+ 
+   (svn_io_run_diff2): Deprecate 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 behaviour 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'.
+
+  (diff_content_changed): Raise an error if both diff_cmd and
+    invoke-diff-cmd are set.
+
+
+* 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.
+
+  (svn_cl__cmd_table): Add opt_invoke_diff_cmd to the list of valid
+    sub-commands. 
+
+  (sub_main): Add guard against concurrent usage of incompatible diff 
+    options.  Remove previous guard code. 
+
+
+* subversion/tests/cmdline/diff_tests.py
+
+  (diff_invoke_external_diffcmd): New function.
+
+  (test_list): Add new entry 'diff_invoke_external_diffcmd'.
+
+
+* subversion/include/svn_error_codes.h
+
+  (SVN_CLIENT_DIFF_CMD): New macro.
+
+
+* subversion/svnlook/svnlook.c
+
+  (enum): New variable svnlook__invoke_diff_cmd.
+
+  (options_table[]): New entry 'invoke-diff-cmd'.
+
+  (cmd_tablcmd[]): Add svnlook__invoke_diff_cmd to diff cmd table
+    entry.
+
+  (svnlook_opt_state): New member variable "invoke_diff_cmd".
+
+  (svnlook_ctxt_t): New member variable "invoke_diff_cmd".
+
+  (print_diff_tree): Modify if condition to include new
+    invoke_diff_cmd. Add conditional call to
+    /include/svn_io.c:svn_io_run_external_diff().
+
+  (get_ctxt_baton): Assign invoke_diff_cmd data.
+
+  (main): Assign opt_arg to opt_state.invoke_diff_cmd.  Add
+    exclusiveness test for invoke_diff_cmd and diff_cmd.