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

Re: UI interpretation quetsions: --changelist + --depth

From: Karl Fogel <kfogel_at_red-bean.com>
Date: 2007-12-23 19:25:15 CET

"C. Michael Pilato" <cmpilato@collab.net> writes:
> I'm trying to decide how Subversion should interpret a command-line like the
> following:
>
> svn plist -v --depth files --changelist FOO /path/to/wc
>
> Does this mean, "For all objects in and under (to depth infinity)
> /path/to/wc that are in the FOO changelist, do a files-depth verbose
> property listing"?
>
> Or does it mean, "For all objects within files-depth of /path/to/wc and
> which are in the FOO changelist, do a verbose property listing?"
>
> My instinct is that the latter is more likely the intended use. But that
> causes interesting side-effects:
>
> $ svn info /path/to/wc --changelist FOO
> ## show nothing if wc isn't in FOO; shows wc only (empty-depth) if it is
> $ svn info /path/to/wc --changelist FOO --depth infinity
> ## ah, that's what i meant! info for all my FOO items!
>
> Of course, the former interpretation could be weird, too:
>
> $ svn update /path/to/wc --changelist FOO --depth files
> ## Grow/shrink only the FOO items to depth files? But they *are* files!
>
> Heaven forbid the interpration be something like, "For all objects within
> DEPTH of the specified explicit targets and in CHANGELIST, perform the
> operation to the shallower of DEPTH or DEPTH-from-TARGET." Yikes.
>
> Thoughts?

Ugh.

Ummm, how about:

  For most commands, '--changelist FOO' restricts the scope to items
  in the intersection of changelist FOO and the specified (or default)
  depth. But for *some* commands, certain special commands, commands
  with trust funds and their own ponies and idyllic summer vacations,
  '--changelist FOO' changes their non-infinity default depth to
  infinity, so that the changelist becomes the only restriction when
  no depth restriction is explicitly given.

Then we just have to decide which commands are special in this way,
'info' being an obvious candidate. Are there any others; maybe
status?

I know people will cry "inconsistency", but I'm not sure consistency
is a major factor in good UI anyway. Meeting intuitive expectations
is more important.

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Dec 23 10:25:35 2007

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