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

Re: 'svn revert' vs. 'svn resolve'

From: Luke Blanshard <luke_at_blanshard.us>
Date: 2003-06-09 14:13:47 CEST

Robert Pluim wrote:

>kfogel@collab.net writes:
> > If the consequences of confusion weren't so awful, then it probably
> > wouldn't be justified. We do know (from multiple reports) that it
> > does happen occasionally. I think we have to do something; though it
> > doesn't necessarily have to be what I did just now.
>
>If you don't know what your tools do, changing their names won't help.
>I never confuse svn revert & svn resolve, since I know what they do,
>and the mere fact that they share their first two letters doesn't
>confuse me.</brane> [1]
>
I think it's probably more than just the first two letters. They're
both fairly unusual two-syllable words that share their first syllable,
used to label two fairly unusual subcommands that do mysterious things
to your working copy.

This is a case where, taken individually, the subcommand names are good.
 But taken collectively, these two are confusing. Looking at the names,
I can probably figure out what they do, more or less. But knowing that
I have to fix a file's conflict marker, and having to remember the
subcommand name that does that, I might well come up with "revert"
instead of "resolve".

Naturally, this is not confusing to your "power user". But we have
empirical evidence that it is confusing to some -- we can't ignore that
evidence because it doesn't apply to us.

People keep calling this a bikeshed issue, but the presence of empirical
evidence means it is not. (Unless you expand on the meaning of
bikeshed: "The bikeshed and the incinerator are the same size and color,
and people keep getting their bikes burned up!") What is a bikeshed
issue, to some degree, is what words to use to resolve the problem.

>I'm -1 on svn undo as well, since it's too generic a name. revert
>clearly indicates to me that you're reverting a file, whereas 'undo'
>could mean undoing a whole host of things.
>
I think "undo" is pretty good, actually. It fits well with the common
use of "undo" in UIs, meaning, throw out some of my work. Given that
you have to supply a file to say what work to throw out, it seems pretty
unambiguous. Better than abort or abandon, IMO. And more widely used
in UIs than "revert", so more likely to be understood easily.

Greg's remark that "resolve" is not a precise description of what it
does is an excellent point. I think that "mark-resolved" would be a
good choice too. Or "clear-conflict" -- but that runs up against
"cleanup". I don't think we should be too concerned about unwieldiness
of individual subcommands, though this is clearly a departure from the
current list of commands. But I think that clarity and individuality of
the commands beats consistency of naming -- it's much more important
that common confusions be addressed than that the list of subcommand
names look pretty.

Changing "revert" to "undo", or "resolve" to "mark-resolved" -- either
of these would work for me.

Luke

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 9 14:14:38 2003

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.