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

Re: svn_client_status5() and depth

From: Stefan Kng <tortoisesvn_at_gmail.com>
Date: Tue, 17 Aug 2010 22:50:06 +0200

On 17.08.2010 22:29, Bert Huijben wrote:

>> But 'svn status' with a --set-depth would mean that this call could
>> change the WC?
>> Until now, 'svn st' didn't change the WC at all, i.e., it was a
>> read-only operation. So is such a change really wanted or necessary?
>
> No it doesn't change the WC, but it sends different information to the
> network.
> In one case the depth stored in the working copy is used (to filter the
> information you miss in your example) and in the other case the information
> isn't filtered.
>
> svn status -u was designed to show what an equivalent 'svn up' would do and
> in this case it didn't do that. Instead it just showed everything below,
> without looking at the ambient depth.

Hmm, you're right. An 'svn up --depth infinity' also doesn't extend a
sparse checkout. But 'svn up --set-depth infinity' does.

So, '--depth ARG' only does something if ARG is less or equal the depth
of the working copy. If it is more (a deeper depth) then it just does
nothing, i.e., uses the depth of the working copy.

I think for read-only operations, --depth ARG should work with a deeper
depth too. For write operations like update, a deeper depth would
automatically imply '--set-depth' (depth_is_sticky in the
svn_client_update3 API), so for those the --set-depth is necessary to
use the deeper depth.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
Received on 2010-08-17 22:50:48 CEST

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