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

Re: [Patch] subcommand-specific option descriptors [Was: "svn add" acts non-recursively without -N given]

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: 2006-02-15 22:11:26 CET

Christian Stork wrote:

> Note that this patch is duplicating a little bit of information in the
> new entries, which might not be a problem since this information
> (option name and has_arg flag) should be very static.

> @@ -407,7 +425,11 @@
> " Use --force to steal the lock from another user or working copy.\n"),
> { svn_cl__targets_opt, 'm', 'F', svn_cl__force_log_opt,
> svn_cl__encoding_opt, SVN_CL__AUTH_OPTIONS, svn_cl__config_dir_opt,
> - svn_cl__force_opt } },
> + svn_cl__force_opt},
> + {{"file", 'F', 1, N_("read lock message from file ARG")},
> + {"message", 'm', 1, N_("specify lock message ARG")},
> + {0, 0, 0, 0}} },

Little though it is, I think this is too much duplication of information, and
would prefer a design that avoids it, perhaps just using the single-letter
option name to identify the message.

As for the particular text that you added, it's fine, but, for the "--file"
option, we should also change the default text to mention that it's for a log
message, and add special text for the only other place that uses it, "propset".

I think the approach of adding specialised versions of the help for certain
commands is OK if we do it with restraint. There is a danger that we might
begin to abuse it by assigning completely different meanings for the same
option. Or maybe we will decide later that doing so is OK in some cases.

"-m/--message" and "-F/--file" seem fine sharing the two meanings (log message
and lock message), with the third meaning of "-F/--file" for the property value
in "propset" being a bit of an oddity.

"--force" is a nasty beast with many disparate meanings, but it's a handy
short-cut for command-line users looking for a "quick fix" to overcome some
restriction that they have just encountered. As long is has a single, precise
meaning for each command, it's also usable by scripts. (If we start needing
more than one meaning per command, we should add options that are more specific.)

Here's a review of the current uses of "--force". Parentheses indicate that
the meaning is currently undocumented in the help text.

   svn add (Also recurse into versioned folders.)
   svn delete Also remove unversioned and modified items.
   svn diff ()
   svn export ()
   svn lock Steal the lock from another user or working copy.
   svn merge ()
   svn move ()
   svn propedit ()
   svn propset ()
   svn unlock Break the lock.

We cerainly should document these properly, either in the body of each
command's help text or in your new command-specific option help.

- Julian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Feb 15 22:11:59 2006

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.