On Thu, Nov 6, 2014 at 8:55 PM, Ben Reser <b...@reser.org> wrote: > On 11/6/14 5:10 AM, Nico Kadel-Garcia wrote: > > Out of curiosity, do the same issues occur with gcc on a modern box? > > Ther'e's a lot to like about MacPorts, but I don't think it's the > > primary build and testing platform for Subversion. > > Yes gcc is going to have the same issues because the declarations he needs > have > been removed from svn_sorts.h These declarations have been there since > 1.0. > Prior to 1.0 they had names in the APR namespace, since it was expected > this > functionality would be moved to APR. Before 1.0 we cleaned up that > namespace > problem and marked them private (by documentation and by using __ in the > names). Of course since they were still in a public header they are > effectively public APIs. Bert noticed that there were a lot of these > private > APIs added to the svn_sorts.h header since 1.8 on trunk and so he moved > all of > them into a private header that isn't installed. This meant he moved the > ones > that had been there since 1.0, thus breaking any 3rd party code that > depended > on them. > > Ideally we would have never exposed these. Ideally 3rd parties would have > observed the private markers and not used them. > > I suggested that we resolve this by restoring the long standing private > APIs > that had been exposed. While not adding any new APIs. If nobody objects > to > that suggestion soon I'm going to just do it. >
+1. I've been scanning the public headers for more such instances and found the following, including the sort API ones: svn_cmdline.h svn_cmdline__getopt_init (1.4) svn_error.h SVN_ERR__TRACED (1.7) svn_sorts.h svn_sort__hash (1.0) svn_sort__bsearch_lower_bound (1.6) svn_sort__array_insert (1.6) svn_sort__array_delete (1.8) svn_types.h svn__apr_hash_index_key (1.7) svn__apr_hash_index_klen (1.7) svn__apr_hash_index_val (1.7) Only svn_sort__hash() seems to be critical. We might want to restore the sorted array functions as well but I'm -0 on that. I think we should list all these changes in our release notes, also mentioning that the svn__apr_hash_index_* functions have been removed entirely. SVN_ERR__TRACED doesn't even have to be mentioned, IMO. -- Stefan^2.