On Tue, Jun 15, 2010 at 4:36 PM, Philip Martin
<philip.martin_at_wandisco.com> wrote:
> Johan Corveleyn <jcorvel_at_gmail.com> writes:
>
>> 1) To do this, the blame_receiver callback needs to know the
>> end_revnum. So I need to extend svn_client_blame_receiver3_t to
>> include end_revnum as a parameter, right (so it can be passed to the
>> receiver inside svn_client_blame5 (blame.c))?
>
> Not sure. Does end_revnum correspond to the end parameter passed to
> svn_client_blame5?
Only if the user specifies an end revnum explicitly. Otherwise the end
parameter refers to HEAD or WORKING (depending on whether the target
is a url or a path). So in general the caller doesn't know the exact
end_revnum, and it's only retrieved in svn_client_blame5 (when it
calls "svn_client__ra_session_from_path(&ra_session, &end_revnum,
...").
> If so then it is probably the callers
> responsibility to put it into receiver_baton, and it doesn't have to
> appear in svn_client_blame_receiver3_t.
>
>> 2) Since svn_client_blame_receiver3_t was introduced in 1.7 (according
>> to the comment), can I just change it, or do I still have to introduce
>> a svn_client_blame_receiver4_t for backward compat?
>
> svn_client_blame_receiver3_t can be changed.
Ok, I guess I'll have to do that then.
Thanks.
Cheers,
Johan
>
>> 3) Do I add the end_revnum parameter at the end of the parameter list,
>> just before the *pool?
>
> We generally put outputs before inputs with pools last; there is no
> requirement that new function parameters go at the end.
>
> --
> Philip
>
Received on 2010-06-15 21:09:51 CEST