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

Emphasizing commonly-used commands in 'svn help' output.

From: <kfogel_at_collab.net>
Date: 2005-07-11 19:26:22 CEST

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.

                             ----------
                              PROPOSAL
                             ----------

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:
      add
      checkout (co)
      commit (ci)
      copy (cp)
      delete (del, remove, rm)
      diff (di)
      help (?, h)
      import
      log
      merge
      mkdir
      move (mv, rename, ren)
      propdel (pdel, pd)
      propedit (pedit, pe)
      propget (pget, pg)
      proplist (plist, pl)
      propset (pset, ps)
      revert
      status (stat, st)
      update (up)
   
   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.

Thoughts?

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 11 20:17:19 2005

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