Author: svn-role Date: Wed Apr 15 04:01:05 2015 New Revision: 1673635 URL: http://svn.apache.org/r1673635 Log: Merge the r1668607 group from trunk:
* r1668607, r1670337 Fixes to the public svn_diff API declarations and documentation. Justification: Have a complete, correct and easily accessible API description. None of these changes should affect generated code nor the ABI. Votes: +1: stefan2, rhuijben, philip Modified: subversion/branches/1.9.x/ (props changed) subversion/branches/1.9.x/STATUS subversion/branches/1.9.x/subversion/include/svn_diff.h subversion/branches/1.9.x/subversion/libsvn_diff/diff_file.c subversion/branches/1.9.x/subversion/libsvn_diff/diff_memory.c Propchange: subversion/branches/1.9.x/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Apr 15 04:01:05 2015 @@ -89,4 +89,4 @@ /subversion/branches/verify-at-commit:1462039-1462408 /subversion/branches/verify-keep-going:1439280-1546110 /subversion/branches/wc-collate-path:1402685-1480384 -/subversion/trunk:1660545-1660547,1660549-1662901,1663003,1663183-1663184,1663338,1663347,1663355,1663374,1663450,1663697,1663706,1663738,1663749,1663791,1664078,1664080,1664084-1664085,1664187,1664191,1664193,1664200,1664344,1664476,1664480-1664481,1664483,1664489-1664490,1664507,1664520-1664521,1664523,1664526-1664527,1664531-1664532,1664588,1664653,1664684,1664927,1664938-1664940,1664978,1664984,1664997,1665164,1665195,1665318,1665437-1665438,1665611-1665612,1665845,1665850,1665852,1665886,1665894,1665896,1666096,1666270,1666272,1666379,1666449,1666690,1666851,1667101,1667106-1667107,1667235,1667941,1667976,1668598-1668600,1668602-1668603,1668608,1668618,1669749,1670139,1670149,1670152,1670329,1670347,1670353,1671388,1672311,1672372,1672404,1672511-1672512,1672728 +/subversion/trunk:1660545-1660547,1660549-1662901,1663003,1663183-1663184,1663338,1663347,1663355,1663374,1663450,1663697,1663706,1663738,1663749,1663791,1664078,1664080,1664084-1664085,1664187,1664191,1664193,1664200,1664344,1664476,1664480-1664481,1664483,1664489-1664490,1664507,1664520-1664521,1664523,1664526-1664527,1664531-1664532,1664588,1664653,1664684,1664927,1664938-1664940,1664978,1664984,1664997,1665164,1665195,1665318,1665437-1665438,1665611-1665612,1665845,1665850,1665852,1665886,1665894,1665896,1666096,1666270,1666272,1666379,1666449,1666690,1666851,1667101,1667106-1667107,1667235,1667941,1667976,1668598-1668600,1668602-1668603,1668607-1668608,1668618,1669749,1670139,1670149,1670152,1670329,1670337,1670347,1670353,1671388,1672311,1672372,1672404,1672511-1672512,1672728 Modified: subversion/branches/1.9.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.9.x/STATUS?rev=1673635&r1=1673634&r2=1673635&view=diff ============================================================================== --- subversion/branches/1.9.x/STATUS (original) +++ subversion/branches/1.9.x/STATUS Wed Apr 15 04:01:05 2015 @@ -235,14 +235,6 @@ Veto-blocked changes: Approved changes: ================= - * r1668607, r1670337 - Fixes to the public svn_diff API declarations and documentation. - Justification: - Have a complete, correct and easily accessible API description. - None of these changes should affect generated code nor the ABI. - Votes: - +1: stefan2, rhuijben, philip - * r1673445 Correct the FSFS structure description. Justification: Modified: subversion/branches/1.9.x/subversion/include/svn_diff.h URL: http://svn.apache.org/viewvc/subversion/branches/1.9.x/subversion/include/svn_diff.h?rev=1673635&r1=1673634&r2=1673635&view=diff ============================================================================== --- subversion/branches/1.9.x/subversion/include/svn_diff.h (original) +++ subversion/branches/1.9.x/subversion/include/svn_diff.h Wed Apr 15 04:01:05 2015 @@ -412,6 +412,9 @@ typedef enum svn_diff_conflict_display_s /** Given a vtable of @a output_fns/@a output_baton for consuming * differences, output the differences in @a diff. * + * If not @c NULL, call @a cancel_func with @a cancel_baton once or multiple + * times while processing larger diffs. + * * @since New in 1.9. */ svn_error_t * @@ -628,6 +631,9 @@ svn_diff_file_diff4(svn_diff_t **diff, * will be used in the generated diff output. Otherwise the legacy compile * time default will be used. * + * If not @c NULL, call @a cancel_func with @a cancel_baton once or multiple + * times while processing larger diffs. + * * @since New in 1.9. */ svn_error_t * @@ -645,7 +651,7 @@ svn_diff_file_output_unified4(svn_stream void *cancel_baton, apr_pool_t *scratch_pool); -/** Similar to svn_diff_file_output_unified3(), but without cancel +/** Similar to svn_diff_file_output_unified4(), but without cancel * support and with @a context_size set to -1. * * @since New in 1.5. @@ -705,7 +711,11 @@ svn_diff_file_output_unified(svn_stream_ * @a conflict_latest to be displayed as conflict markers in the output. * If @a conflict_original, @a conflict_modified, @a conflict_latest and/or * @a conflict_separator is @c NULL, a default marker will be displayed. - * @a conflict_style dictates how conflicts are displayed. + * @a conflict_style dictates how conflicts are displayed. + * Uses @a scratch_pool for temporary allocations. + * + * If not @c NULL, call @a cancel_func with @a cancel_baton once or multiple + * times while processing larger diffs. * * @since New in 1.9. */ @@ -722,7 +732,7 @@ svn_diff_file_output_merge3(svn_stream_t svn_diff_conflict_display_style_t conflict_style, svn_cancel_func_t cancel_func, void *cancel_baton, - apr_pool_t *pool); + apr_pool_t *scratch_pool); /** Similar to svn_diff_file_output_merge3, but without cancel support. * @@ -782,7 +792,10 @@ svn_diff_file_output_merge(svn_stream_t * Either @a original or @a latest may be NULL to describe that the version * didn't exist. * - * Writes the ouput to @a output_stream. + * Writes the output to @a output_stream. + * + * If not @c NULL, call @a cancel_func with @a cancel_baton once or multiple + * times while processing larger diffs. * * @since New in 1.9. */ @@ -858,6 +871,11 @@ svn_diff_mem_string_diff4(svn_diff_t **d * will be used in the generated diff output. Otherwise the legacy compile * time default will be used. * + * If not @c NULL, call @a cancel_func with @a cancel_baton once or multiple + * times while processing larger diffs. + * + * Uses @a scratch_pool for temporary allocations. + * * @since New in 1.9 */ svn_error_t * @@ -873,7 +891,7 @@ svn_diff_mem_string_output_unified3(svn_ int context_size, svn_cancel_func_t cancel_func, void *cancel_baton, - apr_pool_t *pool); + apr_pool_t *scratch_pool); /** Similar to svn_diff_mem_string_output_unified3() but without * cancel support and with @a context_size set to -1. @@ -924,6 +942,11 @@ svn_diff_mem_string_output_unified(svn_s * * @a conflict_style dictates how conflicts are displayed. * + * If not @c NULL, call @a cancel_func with @a cancel_baton once or multiple + * times while processing larger diffs. + * + * Uses @a scratch_pool for temporary allocations. + * * @since New in 1.9. */ svn_error_t * @@ -939,7 +962,7 @@ svn_diff_mem_string_output_merge3(svn_st svn_diff_conflict_display_style_t style, svn_cancel_func_t cancel_func, void *cancel_baton, - apr_pool_t *pool); + apr_pool_t *scratch_pool); /** Similar to svn_diff_mem_string_output_merge2(), but without cancel support. * Modified: subversion/branches/1.9.x/subversion/libsvn_diff/diff_file.c URL: http://svn.apache.org/viewvc/subversion/branches/1.9.x/subversion/libsvn_diff/diff_file.c?rev=1673635&r1=1673634&r2=1673635&view=diff ============================================================================== --- subversion/branches/1.9.x/subversion/libsvn_diff/diff_file.c (original) +++ subversion/branches/1.9.x/subversion/libsvn_diff/diff_file.c Wed Apr 15 04:01:05 2015 @@ -2360,7 +2360,7 @@ svn_diff_file_output_merge3(svn_stream_t svn_diff_conflict_display_style_t style, svn_cancel_func_t cancel_func, void *cancel_baton, - apr_pool_t *pool) + apr_pool_t *scratch_pool) { svn_diff3__file_output_baton_t baton; apr_file_t *file[3]; @@ -2376,7 +2376,7 @@ svn_diff_file_output_merge3(svn_stream_t baton.context_size = SVN_DIFF__UNIFIED_CONTEXT_SIZE; if (conflicts_only) { - baton.pool = svn_pool_create(pool); + baton.pool = svn_pool_create(scratch_pool); make_context_saver(&baton); baton.real_output_stream = output_stream; } @@ -2387,22 +2387,22 @@ svn_diff_file_output_merge3(svn_stream_t baton.path[2] = latest_path; SVN_ERR(svn_utf_cstring_from_utf8(&baton.conflict_modified, conflict_modified ? conflict_modified - : apr_psprintf(pool, "<<<<<<< %s", + : apr_psprintf(scratch_pool, "<<<<<<< %s", modified_path), - pool)); + scratch_pool)); SVN_ERR(svn_utf_cstring_from_utf8(&baton.conflict_original, conflict_original ? conflict_original - : apr_psprintf(pool, "||||||| %s", + : apr_psprintf(scratch_pool, "||||||| %s", original_path), - pool)); + scratch_pool)); SVN_ERR(svn_utf_cstring_from_utf8(&baton.conflict_separator, conflict_separator ? conflict_separator - : "=======", pool)); + : "=======", scratch_pool)); SVN_ERR(svn_utf_cstring_from_utf8(&baton.conflict_latest, conflict_latest ? conflict_latest - : apr_psprintf(pool, ">>>>>>> %s", + : apr_psprintf(scratch_pool, ">>>>>>> %s", latest_path), - pool)); + scratch_pool)); baton.conflict_style = style; @@ -2413,7 +2413,7 @@ svn_diff_file_output_merge3(svn_stream_t SVN_ERR(map_or_read_file(&file[idx], MMAP_T_ARG(mm[idx]) &baton.buffer[idx], &size, - baton.path[idx], pool)); + baton.path[idx], scratch_pool)); baton.curp[idx] = baton.buffer[idx]; baton.endp[idx] = baton.buffer[idx]; @@ -2454,7 +2454,7 @@ svn_diff_file_output_merge3(svn_stream_t if (file[idx]) { - SVN_ERR(svn_io_file_close(file[idx], pool)); + SVN_ERR(svn_io_file_close(file[idx], scratch_pool)); } } Modified: subversion/branches/1.9.x/subversion/libsvn_diff/diff_memory.c URL: http://svn.apache.org/viewvc/subversion/branches/1.9.x/subversion/libsvn_diff/diff_memory.c?rev=1673635&r1=1673634&r2=1673635&view=diff ============================================================================== --- subversion/branches/1.9.x/subversion/libsvn_diff/diff_memory.c (original) +++ subversion/branches/1.9.x/subversion/libsvn_diff/diff_memory.c Wed Apr 15 04:01:05 2015 @@ -622,7 +622,7 @@ svn_diff_mem_string_output_unified3(svn_ int context_size, svn_cancel_func_t cancel_func, void *cancel_baton, - apr_pool_t *pool) + apr_pool_t *scratch_pool) { if (svn_diff_contains_diffs(diff)) @@ -631,9 +631,9 @@ svn_diff_mem_string_output_unified3(svn_ memset(&baton, 0, sizeof(baton)); baton.output_stream = output_stream; - baton.pool = svn_pool_create(pool); + baton.pool = svn_pool_create(scratch_pool); baton.header_encoding = header_encoding; - baton.hunk = svn_stringbuf_create_empty(pool); + baton.hunk = svn_stringbuf_create_empty(scratch_pool); baton.hunk_delimiter = hunk_delimiter; baton.no_newline_string = (hunk_delimiter == NULL || strcmp(hunk_delimiter, "##") != 0) @@ -644,22 +644,22 @@ svn_diff_mem_string_output_unified3(svn_ SVN_ERR(svn_utf_cstring_from_utf8_ex2 (&(baton.prefix_str[unified_output_context]), " ", - header_encoding, pool)); + header_encoding, scratch_pool)); SVN_ERR(svn_utf_cstring_from_utf8_ex2 (&(baton.prefix_str[unified_output_delete]), "-", - header_encoding, pool)); + header_encoding, scratch_pool)); SVN_ERR(svn_utf_cstring_from_utf8_ex2 (&(baton.prefix_str[unified_output_insert]), "+", - header_encoding, pool)); + header_encoding, scratch_pool)); - fill_source_tokens(&baton.sources[0], original, pool); - fill_source_tokens(&baton.sources[1], modified, pool); + fill_source_tokens(&baton.sources[0], original, scratch_pool); + fill_source_tokens(&baton.sources[1], modified, scratch_pool); if (with_diff_header) { SVN_ERR(svn_diff__unidiff_write_header( output_stream, header_encoding, - original_header, modified_header, pool)); + original_header, modified_header, scratch_pool)); } SVN_ERR(svn_diff_output2(diff, &baton, @@ -1066,7 +1066,7 @@ svn_diff_mem_string_output_merge3(svn_st svn_diff_conflict_display_style_t style, svn_cancel_func_t cancel_func, void *cancel_baton, - apr_pool_t *pool) + apr_pool_t *scratch_pool) { merge_output_baton_t btn; const char *eol; @@ -1080,16 +1080,16 @@ svn_diff_mem_string_output_merge3(svn_st if (conflicts_only) { - btn.pool = svn_pool_create(pool); + btn.pool = svn_pool_create(scratch_pool); make_context_saver(&btn); btn.real_output_stream = output_stream; } else btn.output_stream = output_stream; - fill_source_tokens(&(btn.sources[0]), original, pool); - fill_source_tokens(&(btn.sources[1]), modified, pool); - fill_source_tokens(&(btn.sources[2]), latest, pool); + fill_source_tokens(&(btn.sources[0]), original, scratch_pool); + fill_source_tokens(&(btn.sources[1]), modified, scratch_pool); + fill_source_tokens(&(btn.sources[2]), latest, scratch_pool); btn.conflict_style = style; @@ -1110,22 +1110,22 @@ svn_diff_mem_string_output_merge3(svn_st conflict_modified ? conflict_modified : "<<<<<<< (modified)", - pool)); + scratch_pool)); SVN_ERR(svn_utf_cstring_from_utf8(&btn.markers[0], conflict_original ? conflict_original : "||||||| (original)", - pool)); + scratch_pool)); SVN_ERR(svn_utf_cstring_from_utf8(&btn.markers[2], conflict_separator ? conflict_separator : "=======", - pool)); + scratch_pool)); SVN_ERR(svn_utf_cstring_from_utf8(&btn.markers[3], conflict_latest ? conflict_latest : ">>>>>>> (latest)", - pool)); + scratch_pool)); SVN_ERR(svn_diff_output2(diff, &btn, vtable, cancel_func, cancel_baton)); if (conflicts_only)