optionally be specified. * If @a hunk_delimiter is NULL, use the default hunk delimiter "@@". * * As a special case, if the hunk delimiter is "##", then for an incomplete * 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. * * 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 * svn_diff_mem_string_output_unified3(svn_stream_t *output_stream, svn_diff_t *diff, svn_boolean_t with_diff_header, const char *hunk_delimiter, const char *original_header, const char *modified_header, 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 *scratch_pool); /** Similar to svn_diff_mem_string_output_unified3() but without * cancel support and with @a context_size set to -1. * * @since New in 1.7. Hunk delimiter "##" has the special meaning since 1.8. * * @deprecated Provided for backwards compatibility with the 1.8 API. */ SVN_DEPRECATED svn_error_t * svn_diff_mem_string_output_unified2(svn_stream_t *output_stream, svn_diff_t *diff, svn_boolean_t with_diff_header, const char *hunk_delimiter, const char *original_header, const char *modified_header, const char *header_encoding, const svn_string_t *original, const svn_string_t *modified, apr_pool_t *pool); /** Similar to svn_diff_mem_string_output_unified2() but with * @a with_diff_header always set to TRUE and @a hunk_delimiter always * set to NULL. * * @since New in 1.5. * * @deprecated Provided for backwards compatibility with the 1.8 API. */ SVN_DEPRECATED svn_error_t * svn_diff_mem_string_output_unified(svn_stream_t *output_stream, svn_diff_t *diff, const char *original_header, const char *modified_header, const char *header_encoding, const svn_string_t *original, const svn_string_t *modified, apr_pool_t *pool); /** Output the @a diff generated by svn_diff_mem_string_diff3() in diff3 * format on @a output_stream, using @a original, @a modified and @a latest * for content changes. * * Use the conflict markers @a conflict_original, @a conflict_modified, * @a conflict_latest and @a conflict_separator or the default one for * each of these if @c NULL is passed. * * @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 * svn_diff_mem_string_output_merge3(svn_stream_t *output_stream, svn_diff_t *diff, const svn_string_t *original, const svn_string_t *modified, const svn_string_t *latest, const char *conflict_original, const char *conflict_modified, const char *conflict_latest, const char *conflict_separator, svn_diff_conflict_display_style_t style, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool); /** Similar to svn_diff_mem_string_output_merge2(), but without cancel support. * * @since New in 1.6. * * @deprecated Provided for backwards compatibility with the 1.8 API. */ SVN_DEPRECATED svn_error_t * svn_diff_mem_string_output_merge2(svn_stream_t *output_stream, svn_diff_t *diff, const svn_string_t *original, const svn_string_t *modified, const svn_string_t *latest, const char *conflict_original, const char *conflict_modified, const char *conflict_latest, const char *conflict_separator, svn_diff_conflict_display_style_t style, apr_pool_t *pool); /** Similar to svn_diff_mem_string_output_merge2, but with @a * display_original_in_conflict and @a display_resolved_conflicts * booleans instead of the @a conflict_style enum. * * If both booleans are false, acts like * svn_diff_conflict_display_modified_latest; if @a * display_original_in_conflict is true, acts like * svn_diff_conflict_display_modified_original_latest; if @a * display_resolved_conflicts is true, acts like * svn_diff_conflict_display_resolved_modified_latest. The booleans * may not both be true. * * @deprecated Provided for backward compatibility with the 1.5 API. */ SVN_DEPRECATED svn_error_t * svn_diff_mem_string_output_merge(svn_stream_t *output_stream, svn_diff_t *diff, const svn_string_t *original, const svn_string_t *modified, const svn_string_t *latest, const char *conflict_original, const char *conflict_modified, const char *conflict_latest, const char *conflict_separator, svn_boolean_t display_original_in_conflict, svn_boolean_t display_resolved_conflicts, apr_pool_t *pool);