Add an 'svn_rangelist_t' typedef for use with the existing 'svn_rangelist_*' APIs, instead of using 'apr_array_header_t' directly.
The immediate reason is to improve the debugging experience: I can make GDB display 'svn_rangelist_t' values in a simple human-readable form, whereas the best it can do with 'apr_array_header_t', not knowing the type of the elements, is print something like 'array of 2 items'.
Beyond that, it makes sense from a coding abstraction point of view, filling a gap in this hierarchy:
svn_mergeinfo_catalog_t is a collection of svn_mergeinfo_t is a collection of svn_rangelist_t is a collection of svn_merge_range_t
This type has public visibility. Because it is just a typedef, the C API will be backward-compatible and the ABI won't change. Therefore all uses, even in deprecated functions, are being changed.
Using such a typedef doesn't provide any additional static type-checking.
Unlike svn_mergeinfo_t and svn_mergeinfo_catalog_t, svn_rangelist_t is not a pointer type.
* subversion/include/svn_mergeinfo.h (svn_rangelist_t): New typedef. (...everywhere...): Use it.
* subversion/include/private/svn_mergeinfo_private.h (...everywhere...): Use it.
* subversion/include/svn_client.h (svn_client_mergeinfo_get_merged): Update doc string to refer to this.
Prevent path-handling related deprecation warnings. Since they happen in code of functons that are deprecated themselves, we need a workaround here: move the actual code to a static *_internal function and let the public deprecated API as well as its users call that internal (non-deprecated) function.
* subversion/libsvn_subr/deprecated.c (svn_path_is_canonical): move from here to the next file
* subversion/libsvn_subr/path.c (svn_path_is_canonical_internal, svn_path_is_canonical): make the function body available internally without deprecation warning (svn_path_join_internal, svn_path_join): do a similar split; call svn_path_is_canonical_internal to prevent deprecation warnings (svn_path_join_many, svn_path_dirname, svn_path_basename, svn_path_decompose): call *_internal functions