[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: API review for 1.11; do we need to mark new APIs as experimental?

From: Stefan Sperling <stsp_at_elego.de>
Date: Sun, 16 Sep 2018 14:48:14 +0200

On Sun, Sep 16, 2018 at 12:30:24PM +0000, Daniel Shahaf wrote:
> Thanks for elaborating on that, Greg. I agree that the scenario you
> describe is something we should design to prevent.
> In a nutshell, I think the point is that we promise ABI forward
> compatibility should deliver that even for experimental entry points.

I'm starting to wonder what the point of public experimental APIs really is.
They seem to just muddle up our simple public API rules for no good reason.

It seems to actual goal here is to encourage third party authors to integrate
experimental features in their clients for users to test. Is there more to it?

What about just making such APIs private and available under include/private?
There is no technical reason why third party clients would be unable to link
those functions into their program if they wish to. The private nature makes
it very clear that these APIs cannot be relied upon after upgrades.

That model is very simple to understand so I would encourage us to not
invent anything else if there is no urgent need. So far, I don't see how
adding more exceptions and rules to our API guidelines improves anything.

Note that our own 'svn' client is already calling private APIs:

shelf-cmd.c: SVN_ERR(svn_client__get_diff_summarize_callbacks(&diff_processor,
shelf-cmd.c: SVN_ERR(svn_client__get_diff_writer_svn(
shelf-cmd.c: SVN_ERR(svn_client__shelf_diff(shelf_version, "",
util.c: err = svn_client__assert_homogeneous_target_type(targets);
Received on 2018-09-16 14:48:32 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.