Subject: kern/18888: NetBSD source tree, imported, doesn't diff clean.
To: None <firstname.lastname@example.org>
From: None <email@example.com>
Date: 11/01/2002 22:20:17
>Synopsis: NetBSD source tree, imported, doesn't diff clean.
>Arrival-Date: Fri Nov 01 22:21:00 PST 2002
>Originator: Chris Demetriou
>Release: head of trunk as of 2002-10-29
The NetBSD sources, when imported into another CVS repository,
doesn't diff clean against the imported vendor version.
This is due to use of $Revision$ tags in the kernel configuration
This goes against the long-standing practice in the source tree:
the source tree is meant to diff clean if imported into another
CVS revision control tree and if no modifications are made.
Any argument which says that $Revision$ should be used in kernel
configs, if correct, also indicates that $Id$ should be used in
all of the rest of the files rather than $NetBSD$.
One argument that i've heard is that $Revision$ is there
specifically so that people can import kernel configs into their
sources, ***modify them*** and later know what version they used.
However, if that argument is actually valid, the same is true for
any of the rest of the kernel sources which use $NetBSD$ in
the __KERNEL_RCSID declarations, so that users know what version of
their potentially-modified file is in use. Further, if the users
do modify the files they can change a NetBSD-specific tag to one that
works in their environment.
If there is a desire to ship with something like $Revision$ in the
kernel config files, a $NBRevision$ or other similar local tag should
be introduced to do this.
Then, when people modify their kernel configs, if they want the
ID they can also modify them to use $Id$, but people who don't modify
them diff clean from their vendor branch.
import a NetBSD source tree into a private CVS repository, diff
the result against the imported vendor version.
Nuke the $Revision$ tags.
Possibly, introduce a $NBRevision$ or similar tag in the NetBSD
cvs binary to if a revision really is desired.