aboutsummaryrefslogtreecommitdiff
path: root/contrib/subversion/subversion/include/private/svn_mergeinfo_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/subversion/subversion/include/private/svn_mergeinfo_private.h')
-rw-r--r--contrib/subversion/subversion/include/private/svn_mergeinfo_private.h21
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. */