Heads-up: new typedef 'svn_merge_rangelist_t'
From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Fri, 27 Jul 2012 15:36:24 +0100 (BST)
Heads up: I'm going to add
typedef apr_array_header_t svn_merge_rangelist_t;
There's no major impact; it doesn't change anything functionally.
The rest of the details:
Beyond that, it makes sense from a coding abstraction point of view: it fills in the gap in this hierarchy of types (quoting from svn_mergeinfo.h):
/** Terminology for data structures that contain mergeinfo.
typedef apr_hash_t *svn_mergeinfo_t;
The new type will be public. Because it's just a typedef, the C API will be backward-compatible and it won't change the ABI. (Can someone confirm that?)
As mentioned in that doc string, using such a typedef doesn't provide any static type-checking.
svn_merge_rangelist_t is not going to be a pointer like svn_mergeinfo_t and svn_mergeinfo_catalog_t are, since that is a poor idiom leading to inability to declare a parameter as "pointer to a const rangelist".
This is an archived mail posted to the Subversion Dev mailing list.