Author: rhuijben
Date: Tue Aug 19 11:34:00 2014
New Revision: 1618844
URL: http://svn.apache.org/r1618844
Log:
Following up on r1597983 and r1618839, expose configurable context size via
the now revved svn_diff_mem_string_output_unified3() function.
* subversion/include/private/svn_diff_private.h
(svn_diff__display_prop_diffs): Add context_size argument.
* subversion/include/svn_diff.h
(svn_diff_mem_string_output_unified3): Add context_size.
(svn_diff_mem_string_output_unified2): Tweak documentation.
* subversion/libsvn_client/diff.c
(display_prop_diffs): Update caller.
* subversion/libsvn_diff/deprecated.c
(svn_diff_mem_string_output_unified2): Update caller.
* subversion/libsvn_diff/diff_memory.c
(svn_diff_mem_string_output_unified3): Add argument.
* subversion/libsvn_diff/util.c
(svn_diff__display_prop_diffs): Add argument.
* subversion/svnlook/svnlook.c
(display_prop_diffs): Update caller.
Modified:
subversion/trunk/subversion/include/private/svn_diff_private.h
subversion/trunk/subversion/include/svn_diff.h
subversion/trunk/subversion/libsvn_client/diff.c
subversion/trunk/subversion/libsvn_diff/deprecated.c
subversion/trunk/subversion/libsvn_diff/diff_memory.c
subversion/trunk/subversion/libsvn_diff/util.c
subversion/trunk/subversion/svnlook/svnlook.c
Modified: subversion/trunk/subversion/include/private/svn_diff_private.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_diff_private.h?rev=1618844&r1=1618843&r2=1618844&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_diff_private.h (original)
+++ subversion/trunk/subversion/include/private/svn_diff_private.h Tue Aug 19
11:34:00 2014
@@ -97,6 +97,9 @@ svn_diff__unidiff_write_header(svn_strea
* merged or reverse merged; otherwise (or if the mergeinfo property values
* don't parse correctly) display them just like any other property.
*
+ * Pass @a context_size, @a cancel_func and @a cancel_baton to the diff
+ * output functions.
+ *
* Use @a scratch_pool for temporary allocations.
*/
svn_error_t *
@@ -105,6 +108,7 @@ svn_diff__display_prop_diffs(svn_stream_
const apr_array_header_t *propchanges,
apr_hash_t *original_props,
svn_boolean_t pretty_print_mergeinfo,
+ int context_size,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *scratch_pool);
Modified: subversion/trunk/subversion/include/svn_diff.h
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_diff.h?rev=1618844&r1=1618843&r2=1618844&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_diff.h (original)
+++ subversion/trunk/subversion/include/svn_diff.h Tue Aug 19 11:34:00 2014
@@ -831,6 +831,10 @@ svn_diff_mem_string_diff4(svn_diff_t **d
* final line use the text "\ No newline at end of property" instead of
* "\ No newline at end of file".
*
+ * If @a context_size is not negative, then this number of context lines
+ * will be used in the generated diff output. Otherwise the legacy compile
+ * time default will be used.
+ *
* @since New in 1.9
*/
svn_error_t *
@@ -843,12 +847,13 @@ svn_diff_mem_string_output_unified3(svn_
const char *header_encoding,
const svn_string_t *original,
const svn_string_t *modified,
+ int context_size,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *pool);
/** Similar to svn_diff_mem_string_output_unified3() but without
- * cancel support.
+ * cancel support and with @a context_size set to -1.
*
* @since New in 1.7. Hunk delimiter "##" has the special meaning since 1.8.
*
Modified: subversion/trunk/subversion/libsvn_client/diff.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/diff.c?rev=1618844&r1=1618843&r2=1618844&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/diff.c (original)
+++ subversion/trunk/subversion/libsvn_client/diff.c Tue Aug 19 11:34:00 2014
@@ -511,6 +511,7 @@ display_prop_diffs(const apr_array_heade
SVN_ERR(svn_diff__display_prop_diffs(
outstream, encoding, propchanges, original_props,
TRUE /* pretty_print_mergeinfo */,
+ -1 /* context_size */,
cancel_func, cancel_baton, scratch_pool));
return SVN_NO_ERROR;
Modified: subversion/trunk/subversion/libsvn_diff/deprecated.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_diff/deprecated.c?rev=1618844&r1=1618843&r2=1618844&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_diff/deprecated.c (original)
+++ subversion/trunk/subversion/libsvn_diff/deprecated.c Tue Aug 19 11:34:00
2014
@@ -396,6 +396,7 @@ svn_diff_mem_string_output_unified2(svn_
header_encoding,
original,
modified,
+ -1 /* context */,
/* cancel */
NULL, NULL,
pool));
Modified: subversion/trunk/subversion/libsvn_diff/diff_memory.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_diff/diff_memory.c?rev=1618844&r1=1618843&r2=1618844&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_diff/diff_memory.c (original)
+++ subversion/trunk/subversion/libsvn_diff/diff_memory.c Tue Aug 19 11:34:00
2014
@@ -619,6 +619,7 @@ svn_diff_mem_string_output_unified3(svn_
const char *header_encoding,
const svn_string_t *original,
const svn_string_t *modified,
+ int context_size,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *pool)
@@ -638,7 +639,8 @@ svn_diff_mem_string_output_unified3(svn_
= (hunk_delimiter == NULL || strcmp(hunk_delimiter, "##") != 0)
? APR_EOL_STR SVN_DIFF__NO_NEWLINE_AT_END_OF_FILE APR_EOL_STR
: APR_EOL_STR SVN_DIFF__NO_NEWLINE_AT_END_OF_PROPERTY APR_EOL_STR;
- baton.context_size = SVN_DIFF__UNIFIED_CONTEXT_SIZE;
+ baton.context_size = context_size >= 0 ? context_size
+ : SVN_DIFF__UNIFIED_CONTEXT_SIZE;
SVN_ERR(svn_utf_cstring_from_utf8_ex2
(&(baton.prefix_str[unified_output_context]), " ",
Modified: subversion/trunk/subversion/libsvn_diff/util.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_diff/util.c?rev=1618844&r1=1618843&r2=1618844&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_diff/util.c (original)
+++ subversion/trunk/subversion/libsvn_diff/util.c Tue Aug 19 11:34:00 2014
@@ -516,6 +516,7 @@ svn_diff__display_prop_diffs(svn_stream_
const apr_array_header_t *propchanges,
apr_hash_t *original_props,
svn_boolean_t pretty_print_mergeinfo,
+ int context_size,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *scratch_pool)
@@ -604,7 +605,8 @@ svn_diff__display_prop_diffs(svn_stream_
* We also suppress the diff header. */
SVN_ERR(svn_diff_mem_string_output_unified3(
outstream, diff, FALSE /* no header */, "##", NULL, NULL,
- encoding, orig, val, cancel_func, cancel_baton, iterpool));
+ encoding, orig, val, context_size,
+ cancel_func, cancel_baton, iterpool));
}
}
svn_pool_destroy(iterpool);
Modified: subversion/trunk/subversion/svnlook/svnlook.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svnlook/svnlook.c?rev=1618844&r1=1618843&r2=1618844&view=diff
==============================================================================
--- subversion/trunk/subversion/svnlook/svnlook.c (original)
+++ subversion/trunk/subversion/svnlook/svnlook.c Tue Aug 19 11:34:00 2014
@@ -811,7 +811,9 @@ display_prop_diffs(svn_stream_t *outstre
SVN_ERR(svn_diff__display_prop_diffs(
outstream, encoding, propchanges, original_props,
- FALSE /* pretty_print_mergeinfo */, check_cancel, NULL, pool));
+ FALSE /* pretty_print_mergeinfo */,
+ -1 /* context_size */,
+ check_cancel, NULL, pool));
return SVN_NO_ERROR;
}