Subject: kern/18888: NetBSD source tree, imported, doesn't diff clean.
To: None <>
From: None <>
List: netbsd-bugs
Date: 11/01/2002 22:20:17
>Number:         18888
>Category:       kern
>Synopsis:       NetBSD source tree, imported, doesn't diff clean.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>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.