On 17.08.2010 22:32, C. Michael Pilato wrote:
On 08/17/2010 12:44 PM, Stefan Küng wrote:
Like I said in r957917, I think we should fix this in a different way.

The difference is between:
What would you get with
* svn up --depth infinity
and
* svn up --set-depth infinity

svn status --depth infinity used to show the last variant, but shows the
first variant now.

I think we should add an option to choose between those two variants. (By
enabling --set-depth on 'svn status' and a similar change to
libsvn_client)

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?

Agreed.  'svn st' is a read-only operation, period.  But I suspect that Bert
is saying that the --set-depth option, when applied to 'svn status -u',
would be merely a way to describe the "mode" of the -u?

Isn't that what --depth is for?
As I understand it, --depth is to specify the depth you want, and --set-depth is the depth you want the target to set to (i.e., keep that depth after the operation).

If that's the case, personally I think it would be a horrendous UI decision.
  Any option that has "set" as its action-word sounds like something's about
to be changed, which is not what's really going on here.

That's how I understand it: --set-depth sets the depth. But of course it's likely that I'm wrong here.

But that said, I believe Bert's change in r957917 was a good one -- a
correct one -- perfectly in line with the interpretation of the -u option to
'svn st' altogether.  So I'm interested, Stefan, in understanding why
TortoiseSVN wants the prior behavior.  What's TortoiseSVN trying to tell its
users with this extra data?

I use this in the "check for modifications" dialog which shows the status of the whole working copy in a flat view. There's a 'check repository' button which uses the '-u' flag. Now, if users have a sparse checkout, they can use the 'check repository' button and get all the files that are not in their sparse checkout but in the repository. Then users can right-click on those files and update those - which is used to populate a sparse checkout. And also, if new folders are added users can 'extend' their sparse checkout that way, so those new folders have to show up with an 'svn st -u -v --depth infinity' so users can actually see that there's something new in the repository.

Maybe I don't understand that change:
--depth specifies a depth to use for the command. If I want the command to use the depth of the working copy, I specify an unknown depth or none at all. But if I specify a depth, I would assume the command to respect that depth and return the info with that depth.
So why should the -u flag not use the specified depth?

Stefan

--
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net

Reply via email to