Just to poke this thread some more, the overwhelming consensus I've seen
has been to:
- Stop using keywords for module versions
I'd like to just eliminate the use of keywords entirely, if this is the
case. There doesn't seem to be a use for them, other than the
misleading use of modinfo to determine a driver version. And it's been
sufficiently pointed out in this thread that that is a poor decision
given the other better alternatives.
Does anyone see a problem with dropping keywords in their entirety?
If people see the need for versioning beyond what is available via 'mcs
-p', mdb's ::showrev, etc. - we could look into embedding something
about the build repository & changeset tip into an ELF section
somewhere, but this may require modifications to modinfo/what to support
that. (We could either create a new section and make wsdiff skip it, or
add to .comment).
cheers,
steve
* For those interested, I did write up a Mercurial keywords extension -
and it worked, but it brought the time to do a 'hg clone' up from 2m41s
to 20m32s. Obviously this is undesirable :)
Stephen Lau wrote:
Sending this to opensolaris-code for additional feedback, thoughts...
Stephen Lau wrote:
We've had contentious discussion on this already [1], but we need to
get resolution on this to move forward on the SCM Migration.
Mike Kupfer & Danek noted that the following are currently in use:
%?% (not an SCCS keyword)
%D% current date (yy/mm/dd)
%E% date of newest delta (yy/mm/dd)
%G% date of newest delta (mm/dd/yy)
%H% current date (mm/dd/yy)
%I% SID (%R%.%L%.%B%.%S%)
%L% level (see %I%)
%M% module name
%N% (not an SCCS keyword)
%R% release (see %I%)
%T% current time (hh:mm:ss)
%U% time of newest delta (hh:mm:ss)
%W% shorthand for %Z%%M%\t%I%
%X% (not an SCCS keyword)
%Z% what(1) marker ("@(#)")
%e% (not an SCCS keyword)
%s% (not an SCCS keyword)
The options I've seen are:
1) Eliminate the use of keywords entirely
2) Eliminate the #ident %Z% keywords (which is the bulk of the keyword
usage in onnv), and port the remaining ones to a new format
3) Port all keywords to a new format
The most contentious issue seems to be the use of %I% in modules such
as drivers. (James & Alan: this is why I've cc'd you, since I don't
know who else would know people in PTS who might have an opinion).
The general consensus from the ON developers I've talked to is that
the use of %I% to identify module versions is.... poor. That being
said, PTS uses it - for better or for worse. One thought that we had
was to replace it with the the Mercurial monotonically-increasing
revision number (not the 12 character hex hash). It gives the
ever-increasing factor that people may expect, but doesn't identify
uniqueness (since the revision number is relative to each
repository). However, this is the same behaviour as %I% - so perhaps
it's okay.
My personal vote is to:
- Eliminate the #ident %Z% keywords (since the what(1) string is
replaced by the build, anyway).
- Replace %I% for module versions with the Hg revision number
Thoughts? Flames?
cheers,
steve
[1] http://www.opensolaris.org/jive/thread.jspa?messageID=39328
--
stephen lau // [EMAIL PROTECTED] | 650.786.0845 | http://whacked.net
opensolaris // solaris kernel development
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code