A running theme in new feature discussions is the question "Should we
add another subcommand for this new feature?" The discussion usually
goes like this:
"No, we have so many subcommands -- 'svn help' shows forty already!"
"Yeah, but adding options to existing commands is confusing, look
at how often people mess up 'svn switch --relocate'!"
Sound familiar? :-)
While we should be conservative about adding new subcommands, I think
the 'svn help' output situation might be making us *too* conservative.
Here's a proposal to remove that bottleneck. This would take about
ten minutes to implement; I'm ready to do it iff we agree it's good.
By default, 'svn help' would only show the commonly-used commands that
a new user would be most likely to want to see in help output. It
would end with instructions to use 'svn help -v' to see the full list
of commands. Something like this:
$ svn help
usage: svn <subcommand> [options] [args]
Subversion command-line client, version 1.3.0-dev.
Type 'svn help <subcommand>' for help on a specific subcommand.
Most subcommands take file and/or directory arguments, recursing
on the directories. If no arguments are supplied to such a
command, it recurses on the current directory (inclusive) by default.
The most commonly-used subcommands are:
delete (del, remove, rm)
help (?, h)
move (mv, rename, ren)
propdel (pdel, pd)
propedit (pedit, pe)
propget (pget, pg)
proplist (plist, pl)
propset (pset, ps)
status (stat, st)
For a complete list of subcommands, run 'svn help -v'.
Subversion is a tool for version control.
For additional information, see http://subversion.tigris.org/
Running 'svn help -v' would simply give the same output that 'svn
help' currently produces, or something very close to that.
The particular list of commonly-used subcommands shown above is just
off the top of my head, obviously we can tweak it as necessary.
Implementation is straightforward: Have a new boolean flag on each
command in main.c's command table. Iff the flag is set, include the
command in 'svn help' output. Just ignore the flag if -v is passed,
just unconditionally list every command.
To unsubscribe, e-mail: firstname.lastname@example.org
For additional commands, e-mail: email@example.com
Received on Mon Jul 11 20:17:19 2005