diff options
Diffstat (limited to 'contrib/subversion/subversion/include/private/svn_mergeinfo_private.h')
-rw-r--r-- | contrib/subversion/subversion/include/private/svn_mergeinfo_private.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/contrib/subversion/subversion/include/private/svn_mergeinfo_private.h b/contrib/subversion/subversion/include/private/svn_mergeinfo_private.h index 287515a4e573..b8748f4dc7a8 100644 --- a/contrib/subversion/subversion/include/private/svn_mergeinfo_private.h +++ b/contrib/subversion/subversion/include/private/svn_mergeinfo_private.h @@ -65,6 +65,27 @@ svn_error_t * svn_rangelist__combine_adjacent_ranges(svn_rangelist_t *rangelist, apr_pool_t *scratch_pool); +/** Canonicalize the @a rangelist: sort the ranges, and combine adjacent or + * overlapping ranges into single ranges where possible. + * + * If overlapping ranges have different inheritability, return an error. + * + * Modify @a rangelist in place. Use @a scratch_pool for temporary + * allocations. + */ +svn_error_t * +svn_rangelist__canonicalize(svn_rangelist_t *rangelist, + apr_pool_t *scratch_pool); + +/** Canonicalize the revision range lists in the @a mergeinfo. + * + * Modify @a mergeinfo in place. Use @a scratch_pool for temporary + * allocations. + */ +svn_error_t * +svn_mergeinfo__canonicalize_ranges(svn_mergeinfo_t mergeinfo, + apr_pool_t *scratch_pool); + /* Set inheritability of all rangelists in MERGEINFO to INHERITABLE. If MERGEINFO is NULL do nothing. If a rangelist in MERGEINFO is NULL leave it alone. */ |