Re: Blame callback: remove start/end parameters
From: Julian Foad <julianfoad_at_apache.org>
Date: Wed, 16 Jan 2019 16:30:25 +0000
> Bert Huijben wrote:
It already is done with the compatibility wrapper.
> > The problem is that the output arguments are
I intended to document that, but forgot. Documented in r1851268.
> > but that would be an API-first.
I'm pretty sure it would not, though I don't have an example at hand.
Branko Čibej wrote:
If you mean another implementation might not be able to supply those outputs before it first calls the callback, then that is no different from the previous situation in which the implementation was required to calculate and supply those outputs in the first callback (and in every subsequent one).
> It doesn't really hurt for the callback to get redundant parameters. It
I think it *does* hurt to send redundant or misplaced parameters, and so this is an improvement.
I don't want to waste much time arguing about it, however, so I will revert it if you still think so after this reply.
First let me try to say why I like it. The main thing is I think we throw too many parameters into many of our public functions, and this absolutely does make the (overall) SVN API harder to use than it need be. As this was being revved anyway, I see this as an opportunity to make a small change.
In terms of the specifics here, apart from the simple "DRY" argument, it's because these are so closely related to the 'start' and 'end' input parameters. In principle the resolving of revision numbers is a preliminary step, before the blame algorithm runs. It's just a detail that we delay resolution until somewhere inside the blame function. A good alternative interface would be to have svn_client_blame6() take mutable revision specification objects, which the called function resolves (if not already resolved) at its first good opportunity. If we had this kind of interface, it would be reasonable to specify that it gets resolved before the first callback call. That's conceptually identical to what I've implemented.
I will also point out that these callback arguments had never yet been added to the JavaHL wrapper. If we reinstate them, then we should add them there too.
- Julian
|
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.