You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Michel Nolard <mi...@gmail.com> on 2005/06/03 21:04:32 UTC

Usability issue : "svn switch --relocate" should become "svn switch --relocation"

Hi everybody !

I am using svn for quite some time now and I find it very professional. Here 
is my little touch to help you improve it. This is a very little usability 
issue which can be corrected by improving naming consistency.

Now, I'll explain the problem and propose a solution with respect to the users 
who already know svn and for the newcomers also.

The problem is very easy to understand and I found it while using svn. 
Interface consistency is very important as it helps users to avoid losing 
time by seeking how a command is formated as they know how the other are. 
This relies in part upon grammar. The problem we face here concerns the 
"--relocate" option of "svn switch".

When you type "svn switch", you mean "svn, let's switch" so switch it is 
logical for "switch" to be a verb. Svn is very consistent in this regard as 
all svn commands are verbs. Now, let's compare the "--relocate" with the rest 
of "svn help switch" :

---------8<---------------8<---------------8<---------------8<------
switch (sw): Update the working copy to a different URL.
usage: 1. switch URL [PATH]
       2. switch --relocate FROM TO [PATH...]

  1. Update the working copy to mirror a new URL within the repository.
     This behaviour is similar to 'svn update', and is the way to
     move a working copy to a branch or tag within the same repository.

  2. Rewrite working copy URL metadata to reflect a syntactic change only.
     This is used when repository's root URL changes (such as a schema
     or hostname change) but your working copy still reflects the same
     directory within the same repository.

Valid options:
  -r [--revision] arg      : ARG (some commands also take ARG1:ARG2 range)
                             A revision argument can be one of:
                                NUMBER       revision number
                                "{" DATE "}" revision at start of the date
                                "HEAD"       latest in repository
                                "BASE"       base rev of item's working copy
                                "COMMITTED"  last commit at or before BASE
                                "PREV"       revision just before COMMITTED
  -N [--non-recursive]     : operate on single directory only
  -q [--quiet]             : print as little as possible
  --diff3-cmd arg          : use ARG as merge command
  --relocate               : relocate via URL-rewriting
  --username arg           : specify a username ARG
  --password arg           : specify a password ARG
  --no-auth-cache          : do not cache authentication tokens
  --non-interactive        : do no interactive prompting
  --config-dir arg         : read user configuration files from directory ARG
---------8<---------------8<---------------8<---------------8<------

As you can see, apart "--relocate", all the other options are nouns or 
adjectives+nouns. This is very intuitive as we build our sentence like this :
 subject + verb [+ adjective] + noun
which becomes, in the case of svn :
 svn command --option --small-option

So, to improve svn consistency, I propose to replace "--relocate" by a noun. 
As I am not a native english speaker, I am not sure that "relocation" is 
really what we need, but this is my proposition to improve the consistency of 
Subversions Command Line Interface (CLI).

I propose that
 - the "--relocate" option is still supported silently, aside the new 
"--relocation" until subversion 2.x where, maybe, we can deprecate or remove 
it.
 - the svn documentation ("svn help switch" and svn book) reads "--relocation" 
instead of "--relocate" to help the newcomers to adapt to the new, more 
consistent option's name

What do you think of this ?

I hope this helps svn to become more usable :)

-- 
Michel Nolard

Re: Usability issue : "svn switch --relocate" should become "svn switch --relocation"

Posted by Ben Collins-Sussman <su...@collab.net>.
On Jun 4, 2005, at 6:53 AM, Ryan Schmidt wrote:

>
> On 04.06.2005, at 13:42, Max Bowsher wrote:
>
>
>>> When you type "svn switch", you mean "svn, let's switch" so  
>>> switch it is
>>> logical for "switch" to be a verb. Svn is very consistent in this  
>>> regard as
>>> all svn commands are verbs.
>>>
>>
>> help, info, log, status == nouns
>>
>
> And of course "resolved", which I still say should be (or should at  
> least have an undocumented alias) "resolve" though nobody else  
> seems to agree with me. :-) Apparently I'm the only one who  
> mistypes this every single time. Oh well:
>
> alias svn resolve='svn resolved'
>

Funny you should say that.  In the early days, it *used* to be called  
'svn resolve'.  But we changed it to 'resolved', because users kept  
thinking that 'svn resolve' automatically resolved conflict markers  
for them.  By changing the word to a past particple, we were trying  
to make it clear that the conflict has *already* been resolved.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: How to revert changes from the multiple non consecutive revisions

Posted by Max Bowsher <ma...@ukf.net>.
Moisei wrote:
> Hello dear all,
> does any body have an idea about the subject?
> Currently I merge them one by one and I am just wondering
> whether another more efficient solution exists.

No, it doesn't - consider that in theory, a conflict could occur at any 
intermediate stage.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

How to revert changes from the multiple non consecutive revisions

Posted by Moisei <mo...@gmail.com>.
Hello dear all,
does any body have an idea about the subject? 
Currently I merge them one by one and I am just wondering
whether another more efficient solution exists.

Thanks,
Moisei.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: Usability issue : "svn switch --relocate" should become "svn switch --relocation"

Posted by Ryan Schmidt <su...@ryandesign.com>.
On 04.06.2005, at 13:42, Max Bowsher wrote:

>> When you type "svn switch", you mean "svn, let's switch" so switch it 
>> is
>> logical for "switch" to be a verb. Svn is very consistent in this 
>> regard as
>> all svn commands are verbs.
>
> help, info, log, status == nouns

And of course "resolved", which I still say should be (or should at 
least have an undocumented alias) "resolve" though nobody else seems to 
agree with me. :-) Apparently I'm the only one who mistypes this every 
single time. Oh well:

alias svn resolve='svn resolved'


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Usability issue : "svn switch --relocate" should become "svn switch --relocation"

Posted by Max Bowsher <ma...@ukf.net>.
Michel Nolard wrote:
...
> The problem is very easy to understand and I found it while using svn.
> Interface consistency is very important as it helps users to avoid losing
> time by seeking how a command is formated as they know how the other are.
> This relies in part upon grammar. The problem we face here concerns the
> "--relocate" option of "svn switch".
>
> When you type "svn switch", you mean "svn, let's switch" so switch it is
> logical for "switch" to be a verb. Svn is very consistent in this regard 
> as
> all svn commands are verbs.

help, info, log, status == nouns

> Now, let's compare the "--relocate" with the
> rest of "svn help switch" :
...
> As you can see, apart "--relocate", all the other options are nouns or
> adjectives+nouns. This is very intuitive as we build our sentence like 
> this
>  : subject + verb [+ adjective] + noun
> which becomes, in the case of svn :
>  svn command --option --small-option

This argument is weak, because the command-verbs do not act on the 
option-nouns. If you really want to compare commands to english grammar, 
then options are closer in function to adverbs.

> So, to improve svn consistency, I propose to replace "--relocate" by a 
> noun.
...
> I hope this helps svn to become more usable :)

I think this would be placing consistency over clarity, and would in fact 
make svn _less_ usable.

"--relocate" being a verb very appropriately reflects the fact that a 
relocate operation is a whole different kind of operation to a plain switch. 
They share a command because there is a certain amount of family resemblence 
between the two, but it would not have been entirely out of place to make 
"svn relocate" a main command in its own right.

Max.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org