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

Re: [PATCH] Describing depth/recurse concepts in the RA layer

From: Karl Fogel <kfogel_at_red-bean.com>
Date: 2007-05-10 00:35:16 CEST

"C. Michael Pilato" <cmpilato@collab.net> writes:
> Pre-1.5 clients will never transmit reported depths and never
> transmit a requested depth. But they will (perhaps optionally,
> depending on the RA layer) transmit a requested recurse (either
> 'yes' or 'no', with 'yes' being the default).
> When speaking to a pre-1.5 server, what happens happens. It's the past,
> man -- you don't get to define it now.
> When speaking to a 1.5 server, the not-reported depths are treated
> like reported depths of 'infinity', and the recurse 'yes' and 'no'
> map to depths of 'infinity' and 'files', respectively.

Amen to all that.

> 1.5 clients will transmit reported depths (with 'infinity' as the
> default) and will transmit a requested depth (with 'unknown' as the
> default). They will also -- for the sake of older, non-depth-aware
> servers -- transmit a requested recurse, mapped from requested
> depths ('empty' or 'files' = no; 'unknown', 'immediates', and
> 'infinity' = yes).

When a 1.5 client has no requested depth, does it still transmit
recurse=yes in those RA layers that today transmit recurse=yes by

> When speaking to a pre-1.5 server, the requested recurse is the only thing
> the server notes, but is obviously more "grainy" than the depth concept.
> The client, therefore, must filter out unwanted data that the server
> transmits.
> When speaking to a 1.5 server, the requested recurse is ignored. A
> requested depth of "unknown" means "only send information about the
> stuff in my report, depth-aware-ily". Other depths are honored by
> the server properly, and the client must handle the transformation of
> any working copy depths from their pre-update to their post-update
> depths and content.

Say "Other requested depths are honored by the server properly..."
...just to be clear :-).

This whole last paragraph looks correct to me, but the meaning of the
first sentence might be clearer if expanded to this:

   "When a 1.5 server receives both requested depth and recurse, the
    recurse is ignored in favor of the depth, even when the depth is
    svn_depth_unknown. But when a 1.5 server receives recurse with no
    requested depth, it honors the recurse, on the theory that it's
    talking to a pre-1.5 client."

(You've sort of organized your text around the client version, but we
really need to talk about server behavior in detail for the reader to
fully grok what's going on, IMHO.)

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu May 10 00:35:28 2007

This is an archived mail posted to the Subversion Dev mailing list.