Kevin Pilch-Bisson <kevin@pilch-bisson.net> writes:
> We had previously agreed that the semantics of non-recursive for directories
> would be:
>
> run command on dir and all file entries in dir. Do nothing with dirs.
>
> I would like to make an ammendment to that. Consider property subcommands, and
> the revert command. That would mean that there is no way to run a property
> or revert command on just a directory, which I think is bogus. So I thought
> of this proposal.
>
> 1) For commands that are recursive by default (checkout, import, update, etc),
> use the behaviour described above.
>
> 2) For commands that are _nonrecursive_ by default (plist, pget, pset, pdel,
> revert) run command only on dir.
>
> This would mean that svn revert [.], would revert only property changes on .,
> but that you could revert everything in the current dir with svn revert *.
> Similarly with property commands, i.e. svn pset blah "some value" would set
> the property only on the current dir.
It might be useful to expose "depth" concept described in
svn_wc.h to command line option.
The WebDAV concept of "depth" may be useful in understanding the
motivation behind this. Suppose we're getting the status of
directory D. The three depth levels would mean
depth 0: D itself (just the named directory)
depth 1: D and its immediate children (D + its entries)
depth Infinity: D and all its descendants (full recursion)
Then user will have full control over how the given command
should recurse. Recursive and nonrecursive will be an alias
to one of them depending on the nature of the command as you
described. I think I'll just type svn revert . * instead of
svn --depth 1 revert, though. :-)
--
Yoshiki Hayashi
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:45 2006