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

Handling RA extensions between 1.x releases

From: Peter N. Lundblad <peter_at_famlundblad.se>
Date: 2004-06-07 22:37:46 CEST

Hi,

Issue 1846 (and also my blame optimization, but that's awaiting
proof-of-concept performance testing) brings up the question how to handle
extensions to the RA layer between 1.x releases. There are four
parts to this:

a) Where to put the fallback?
b) the svn_ra_plugin_t
c) ra_dav extensions
d) ra_svn dito.

a) Fallback
For backwards compability, we need a fallback implementation somewhere in
the client. We can implement the callback in terms of other RA layer
functions where the new functionality would be used.

A question is how to detect that the functionality is missing. Is that
what SVN_ERR_RA_NOT_IMPLEMENTED is for?

b) svn_ra_plugin_t
This structure will be extended and all implementations will be extended
with the new functions. There is no compatibility to worry about here, as
earlier discussed.

c) ra_dav
The extensions under discussion are implemented as custom REPORTs. My
question here is how to detect that such a REPORT is not available. Can we
use avail_reports in some way here?

d) ra_svn
The extensions will be implemented as new commands with responses,
resembling the log command.

Regarding dection of the command availability, if I understand correctly,
the server just announces a new capability for each new command in the
greeting.

Does this seem reasonable?

Regards,
//Peter

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 7 22:34:13 2004

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.