[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
>
> 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
>
> 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
default?

> 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.