"Greg A. Woods" schrieb:

> [ On Monday, March 6, 2000 at 11:45:34 (-0600), Michael Gersten wrote: ]

[...]

> > Also, as long as people are discussing new improvements for CVS, how about
> > this: any time you create a branch tag 'newtag', automatically create a tag
> > 'base-<newtag>' at the base (it can be a nightmare if you forget).
>
> That's not a bad idea -- it's been discussed before but there's the
> issue of forcing naming policies on people, not to mention that some
> people really don't want extra tags cluttering an already cluttered
> repository when they don't really need them.  I don't think anyone's
> proposed a working implementation yet either (though this one should be
> really trivial to do).

I agree. This feature would be really useful as forgetting to tag the base may cause
much pain afterwards. And I also agree that no specific naming convention should be
forced on people. They should be free to choose the base tag name they want.

> One thing I thought of a long time ago, but never got around to doing
> either, is to allow multiple tags to be specified at once (I got the
> idea from observing that you can do this with "cvs import").  Obviously
> there would have to be a new option letter to specify new tags, and care
> would have to be take to get the meaning of '-b' right (i.e. to which
> tags it applies).  This might solve the problem sufficiently for almost
> everyone....

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
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.

Of course you have to be careful about how to react if someone gives "cvs tag -b
mytag". Should  you take "mytag" as branch tag (current behaviour!) and just warn as
shown above, or should you take it as parameter to -b (i.e. base tag) and complain
about the missing branch tag.
I would prefer the first solution as it is closer to the current behaviour. However
I don't know if it's technically realizable.

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. The security question
suggested above could be asked nevertheless.

Regards
Martin

Reply via email to