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 >

