On Tue, Jun 15, 2010 at 4:36 PM, Philip Martin
<[email protected]> wrote:
> Johan Corveleyn <[email protected]> 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
>

Reply via email to