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

Re: r16476 broke binary compatibility with 1.0/1.1 clients

From: Malcolm Rowe <malcolm-svn-dev_at_farside.org.uk>
Date: 2006-03-30 17:53:56 CEST

On Thu, Mar 30, 2006 at 05:09:17PM +0200, Peter N. Lundblad wrote:
> Malcolm Rowe writes:
> > r16476 (adding diff --summarize API calls) effectively changed the
> > prototype for svn_ra_plugin_t->do_diff() vtable member (though you
> > changed only the callers and implementations, not the svn_ra_plugin_t
> > structure itself, so the prototype and uses are actually mismatched).
>
> I didn't change the deprecated plugin prototypes. I added a TRUE value
> to the call of do_diff in the new (private) vtable. That being said,
> the log message was misleading, which I fixed.
>

Two vtables? What a crazy concept!
How on earth did I miss that, I wonder? :-)

> > I guess that we need to split the RA vtables into a private-use vtable for
> > the flat svn_ra_xxx functions and a 'public' vtable for 1.0/1.1 callers;
> > the latter would then have a reference to a compatbility diff function
> > that doesn't expect the text_deltas argument.
> >
> Good idea. See r12801:-) The point of that was actually to be able to
> change the vtable without having to provide compat wrappers in all
> three RA implementations (and to make the use of this API cleaner).
>

Doh! Thanks for educating me!

Regards,
Malcolm

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Mar 30 17:54:28 2006

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.