Adam Morrison wrote:
Apparently, diff uses basic regular expressions.
Indeed, that was also why my regexp did not work - I was trying to use extended regular expressions, whereas diff only
support basic ones.
Luckily, for GNU versions of grep/diff, the only difference between basic and extended regexps is that special
characters of extended mode (namely {, } |, $, ^ etc) need to be prefixed with a back slash for their special meaning to
be used. Yes, backwards from you normally would expect, a $ is just a dollarm but a \$ is a marker for end of line.
In the end, this is the diff line used:
# diff -pBbNaur -X dontdiff this_kernel/ that_kernel/ -I
'$Id\|$Header\|$Date\|$Source\|$Author\|$Revision'
Note that this did *not* weed out all uses of the CVS keywords, only those that happend in a block of chanes where all
the changed lines matched the regexp, so $Log ... $ lines, for example, could not be catched using this technique.
Luckily, after this diff line the number of files with those lines was small enough to allow manual trimming by using an
exclude by file technique.
Thanks very much to Ehud, Shachar, Oleg, Adam and everyone else!
Gilad
--
Gilad Ben-Yossef <[EMAIL PROTECTED]>
Codefidence. A name you can trust(tm)
Web: http://codefidence.com | SIP: [EMAIL PROTECTED]
IL: +972.3.7515563 ext. 201 | Fax: +972.3.7515503
US: +1.212.2026643 ext. 201 | Cel: +972.52.8260388
Resistence was futile.
-- Danny Getz, 2004.
=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]