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

Re: deliberate user unfriendlyness vs training users brains/fingers

From: <kfogel_at_collab.net>
Date: 2004-01-19 17:44:29 CET

solo turn <soloturn99@yahoo.com> writes:
> svn seems to get an improving track record in introducing
> "user-unfriendlyness". there are things which introduced a less
> usable style, and there are things where users are forgotten right
> from the beginning. examples:
>
> * "svn revert -R" in contrary to "svn blabla -N" in other cases
> svn operates recursively, but not always.
> thanks to svn developers dumb users brains are now trained
> by learning different svn command semantics
> (instead of issueing a warning "really recursive y/n").

I almost didn't respond to this, but then thought maybe it's worth it
for other people to understand why/how these decisions were made.

The revert -R decision was deliberate. Because revert is so serious
(it can lose your uncommitted changes), we decided that command should
not default to recursive. Since users won't be habituated to -R
normally, the failure mode here would be that *less* gets reverted
than you wanted, rather than more. That's a good thing.

What you describe as a "warning" is in fact a prompt, and prompting
make SVN less scriptable and predictable. That's why we avoid it when
we can.

> * issueing help text has to be done explicitely
> $ svnadmin
> Type 'svnadmin help' for usage.
>
> $ svn ls file:///rep -m ""
> subcommand 'list' doesn't accept option '-m [--message] arg'
> Type 'svn help list' for usage.
>
> instead of giving the help text directly (case 1), or doing the command
> and issue a warning (case 2), users are trained to retype that command,
> to finally get the help text.

Another deliberate decision.

Experienced users prefer this behavior, rather than getting a faceful
of help text each time and having to wade through it to figure out a
mistake which might be clear on a moment's thought. The philosophy
is: describe what went wrong in brief, and provide an "escape hatch"
via which to get more help.

I couldn't understand the last part of your sentence, by the way.

> * "svn import" trains users brains by learning that files and directories are
> treated differently:
> $ touch imptest/ts.txt
> $ svn import imptest/ file:///rep -m ""
> Adding imptest/ts.txt
> --> the specified "imptest" is not added, but the contents "ts.txt"
> $ touch ts3.txt
> $ svn import ts3.txt file:///`pwd`/rep/ts3.txt -m ""
> Adding ts3.txt
> --> the specified thing is added.

I don't really understand what this means, but insofar as I can piece
together a meaning, it is an inaccurate description of how Subversion
behaves.

> * accept certificates permanently
> svn developers think that certificates have to be valid,
> and dumb users should annoy dumb server operators to make
> their certificates valid. so there is no option any more
> to store such a certificate.

You often have no idea (or a wrong idea) of what the "svn developers"
think, so please don't characterize things this way :-).

(Yes, I realize you're trying to be humorous, but it's also clear that
there's more than a grain of sincerity in the way you're phrasing all
this.)

I don't know the details of this particular behavior, so I can't
comment on whether your assertions are accurate or not.

> * paths given with "\" on windows to disallow command-line
> url/path copy paste for svn commands
> new way:
> $ svn st
> U bla\bla\bla.txt
> even in cygwin environment. ther is no copy-paste any more
> to do:
> $ svn somecommand http://server/bla/bla/bla.txt
>
> svn developers think that dumb users on windows anyway do not
> use command line, and if they do, they should learn to type.
> output has to be "pure", maybe there is somebody writing a
> script using this output, and win user does not know
> how to use a "bla/bla/.." path.

I don't remember what the justification for this was, if any. You
might try searching the archives, or (gasp!) *asking* why Subversion
behaves the way it does instead of stating that it's wrong. Maybe
it's an oversight, or maybe there's a good reason.

> * first lock working copy (which can take long) and afterwards ask
> questions if you switch to another window in the meantime you
> risk a session timeout and restart from scratch.

This is a known bug, and filed. What the "svn developers think" is
that prioritization is not a choice, the only choice is in how we
prioritize.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jan 19 18:41:07 2004

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.