[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new features for local keywords and keyword expansion

From: Derek Robert Price
Subject: Re: new features for local keywords and keyword expansion
Date: Mon, 09 Jun 2003 17:46:43 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02

Sorry for the delay, Mark -

Mark D. Baushke wrote:

Hi Folks,

I have found this feature to be very useful when maintaining lots of
third-party sources and I think the time has come to put it into the
cvshome version of cvs.

The following is a patch for a 'new' feature (really a port of the
feature in OpenBSD and FreeBSD have had for many years).
I have always found their term "tag" and "tagexpand" to be a bit
confusing with cvs version or branch tags when they really are talking
about the "keywords" that get expanded using the RCS rules. So, I have
here renamed the options as "LocalKeyword" and "KeywordExpand" which I
think better describes what the new options do.

For now, I still provide aliases to the OpenBSD config names for
compatibility (the FreeBSD folks put these options into a
CVSROOT/options file so the compatibility for them is not really

If folks need/want me to keep the original "tag" and "tagexpand" for
these features, let me know. If folks do not want me to have the new
features have aliases to the OpenBSD option names, let me know that too.

If folks feel that this is an undesirable feature, please let me know
why you think that is true.

Any comments or suggestions for improving the documentation would also
be appreciated.

The documentation looks good, but I have some general comments on the idea and implementation:

Why bother with KeywordExpand at all? I can understand why someone might want to use LocalKeyword, but I'd like a justification for KeywordExpand before I decide it's useful.

It would be cooler if CVSHeader included the _real_ CVSROOT from the last checking rather than just stripping the path portion. In other words, gather it from the client, :pserver: or whatever string and all. Wouldn't that be more useful if someone handed you a bug report from an application with this Id string? Of course that would require client mods...

Why bother supporting the tag & tagexpand aliases at all if you're not trying to be compatible out of the box with an existing installation? Admins are going to need to update their CVSROOT/config anyhow, so why pollute the namespace, especially when we already use "tag" to mean something else?

I think you doc'd the wrong name in src/ChangeLog for rcs.c. You mentioned Tag & TagExpand.

This would also be cooler if this could be configured by project, at least with KeywordExpand. I don't think I'd like having to turn off the Header keyword for an entire repository if I only wanted to disable it for my local import of FreeBSD or whatever, but I'm neither going to do the work myself nor protest its inclusion on these grounds. Of course, personally, I'd probably use the option to disable keywords entirely for all local projects, but that's just my personal preference. ;) Hrm... how about an "all" keyword with "e"? Or does "KeywordExpand=i" do the trick?



Email: derek@ximbiot.com

Get CVS support at <http://ximbiot.com>!
Sometimes it is said that man cannot be trusted with the government of himself.
Can he, then, be trusted with the government of others?

                        - Thomas Jefferson

reply via email to

[Prev in Thread] Current Thread [Next in Thread]