[ On Wednesday, March 8, 2000 at 11:18:30 (+0100), Martin Roehrig wrote: ]
> Subject: Base tag for cvs tag -b [Was: Re: Feature wanted: checkin time tagging]
>
> I don't know if it would be technically ok, but what do you think about the
> following suggestion:
>
> Give the -b flag an optional parameter for the base tag (the branch tag is not a
> parameter to -b in the current implementation, but a parameter to cvs tag, as far as
> I can see).
> If the optional base tag is given behave like a combination of today's
> cvs tag [options-except-b] basetag
> cvs tag -b [options-except-b] branchtag
I am very wary of changing the meaning of a flag in this way, especially
for a program that's been around as long as CVS, and even doubly so when
there are many obvious examples of other programs that rely on the
command-line interface.
There's also the issue that "optional" parameters for flags are not
usually a good idea from a user-interface design and usability
perspective. Traditionally they are only allowed when the option value
is appended directoy to the option letter (i.e. no whitespace), but then
this makes it hard to tell if the next letter is another option or a
parameter (at least visually -- from a parsing perspecitve it's not hard
to decide :-).
> If the proposed syntax is impossible or unwished, you could still use a new flag
> letter (let's say -B as a draft hypothesis) for the base tag.
I too would choose '-B base-tag' as the new option. (This may even have
been proposed in past discussions....)
> If the base tag is not given ask the user if she really wants to continue this
> potentially dangerous / painful command (as is done by cvs release).
> In case she wants just behave like cvs tag -b does nowadays.
> Otherwise cancel the whole action.
>[[....]]
> The security question
> suggested above could be asked nevertheless.
Hmmm... no, that's bad practice too. CVS as a command-line tool has
traditionally avoided any interactive features beyond the invocation of
the editor for commit messages. Yes "cvs release" asks for
confirmation, but I think it's escaped revision simply because so few
people actually use it. At the very least any interactive feature must
be capable of being given an answer on the command line (and indeed
there should be a '-f' flag or similar to force "cvs release" to just do
its job without asking silly questions).
--
Greg A. Woods
+1 416 218-0098 VE3TCP <[EMAIL PROTECTED]> <robohack!woods>
Planix, Inc. <[EMAIL PROTECTED]>; Secrets of the Weird <[EMAIL PROTECTED]>