|
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 thefeature 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 possible). 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?
Derek -- *8^) 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
[Prev in Thread] | Current Thread | [Next in Thread] |