On Wed, Jul 10, 2002 at 09:31:06PM +0100, Philip Martin wrote:
> Justin Erenkrantz <jerenkrantz@apache.org> writes:
>
> > + "usage: revert TARGET1 [TARGET2 [TARGET3 ... ]]\n"
> > + " Unless --recursive is passed, revert does not have an implicit\n"
> > + " target. Therefore, you must explicitly specify any targets\n"
> > + " (such as `.').\n\n"
>
> We try to protect the user against "svn revert" errors but allow the
> more destructive "svn revert --recursive" to run unhindered. I don't
> understand the logic behind this behaviour.
The thought was that not having implicit targets was intended as a
dead-man's switch. But, with --recursive, my thought is the dead-man
switch has been pressed. If you type --recursive with no arguments,
I think you want '.'. cmpilato brought up that you could
accidentally type 'svn revert --recursive' too, but I don't place
much stock in that use case - there are easier ways to shoot
yourself in the foot.
On #svn, cmpilato made the following 3-step argument against this
(hopefully, he won't mind me quoting him):
1. it's fine for a subcommand to require an explicit target.
2. no existing subcommands have their target requirements change
by the presence/absence of a command-line option.
3. therefore, why introduce the inconsistency.
I just envision this getting used a lot esp. in httpd/APR since we
are always applying external patches to test. When we are done with
them, it'd be nice to just do a quick svn revert. IMHO, the current
interface of requiring the directory name is clunky.
I also don't think you can do anything very destructive since you
are using SVN as your version control software. If the change was
that critical, it should have been committed!
Regardless, this conversation has gone on too long for such a simple
patch... -- justin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jul 10 22:55:13 2002