Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 07 Jul 1996 22:14:27 +0800
From:      Peter Wemm <peter@spinner.DIALix.COM>
To:        Wolfram Schneider <wosch@cs.tu-berlin.de>
Cc:        current@freebsd.org
Subject:   Re: rcs keyword '$FreeBSD: $' disabled 
Message-ID:  <199607071414.WAA28208@spinner.DIALix.COM>
In-Reply-To: Your message of "Sun, 07 Jul 1996 13:54:20 %2B0200." <199607071154.NAA02993@campa.panke.de> 

next in thread | previous in thread | raw e-mail | index | archive | help
Wolfram Schneider wrote:
> 
> Why is the keyword '$FreeBSD: $' (an alias for '$Id: $') disabled?

Because that was only part of the story..  There were corresponding 
modifications to CVS as well, but it turned out to be a problem that was 
more trouble that it was worth at the time, so it never was reimplemented.

Consider:  If we have $FreeBSD$ in the freefall sources, then every other 
freebsd user who sup's a copy of the cvs source must also run a hacked 
copy of the rcs/cvs binaries.  The main "reason" for having an alternate 
keyword is so that $Id$, $Log$ etc are completely ignored so that there 
are no version conflicts when importing, so just turning on $FreeBSD$ 
isn't enough.  All the others should be turned off at the same time (which 
is what the original #ifdef FREEBSD_DEVELOPER patches did).

I implemented an alternative set of patches that were (IMHO) cleaner, and 
didn't interfere with the installed rcs binaries default behavior.  What I 
did was implement a "keyword prefix" string.  ie: if you did a "rcs 
-KFreeBSD- file,v", it would store that in the rcs file itself and our 
slightly-modified rcs would notice it and would then only expand 
$FreeBSD-Id$, $FreeBSD-Log$ etc and completely ignore $Id$, $Log$ and so 
on.  Hardly any CVS changes were needed, I put in a hack when the initial 
import was happening to add in the keyword when CVS generates the ,v file, 
but that was it.

The beauty of this approach is that you can still use 
/usr/bin/{ci,co,rcs,rcsdiff,...} in the normal fashion on *all* rcs files 
without unexpected behavior, the binaries adapt to the repository they are 
working on.  Even the older RCS binaries could cope with the extension to 
the ,v file that I added, but naturally, they didn't know about the new 
keywords.

Cheers,
-Peter





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607071414.WAA28208>