git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* How do I ignore the changes made by CVS keyword substitution  efficiently?
@ 2010-06-03 19:13 Lin Mac
  2010-06-03 19:35 ` Kyle McMartin
  2010-06-04  7:13 ` Steven Michalske
  0 siblings, 2 replies; 4+ messages in thread
From: Lin Mac @ 2010-06-03 19:13 UTC (permalink / raw)
  To: Git Mailing List, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2026 bytes --]

Hi,

I'm merging kernel from others, and they used CVS to manage their
code, and so do some part of linux kernel. Unfortunatly CVS would
substitude the keywords in the source, result in unecessary changes in
the code, like the one in the following diff. In fact, there are
around 1174 of CVS keywords in the kernel source. I don't want those
useless changes to get into my tree.

Currently I use the attached scripts to as a basic filter, which could
filter out 1-line changes by CVS keyword in a patch. But I still have
to handle other cases (multi-line changes, $Log, which would result in
log of latest commit) myself.

Do you have better idea to get this task done?

diff --git a/kernels/linux-2.6.31.1-cavm1/Documentation/cris/README
b/kernels/linux-2.6.31.1-cavm1/Documentation/cris/README
index d9b0868..c7bb74b 100644
--- a/kernels/linux-2.6.31.1-cavm1/Documentation/cris/README
+++ b/kernels/linux-2.6.31.1-cavm1/Documentation/cris/README
@@ -1,6 +1,6 @@
 Linux 2.4 on the CRIS architecture
 ==================================
-$Id: README,v 1.7 2001/04/19 12:38:32 bjornw Exp $
+$Id: README,v 1.1 2010-05-14 09:47:54 XXXXXXXX Exp $

 This is a port of Linux 2.4 to Axis Communications ETRAX 100LX embedded
 network CPU. For more information about CRIS and ETRAX please see further
@@ -103,7 +103,7 @@ block: queued sectors max/low 9109kB/3036kB, 64
slots per queue
 ETRAX 100LX 10/100MBit ethernet v2.0 (c) 2000 Axis Communications AB
 eth0 initialized
 eth0: changed MAC to 00:40:8C:CD:00:00
-ETRAX 100LX serial-driver $Revision: 1.7 $, (c) 2000 Axis Communications AB
+ETRAX 100LX serial-driver $Revision: 1.1 $, (c) 2000 Axis Communications AB
 ttyS0 at 0xb0000060 is a builtin UART with DMA
 ttyS1 at 0xb0000068 is a builtin UART with DMA
 ttyS2 at 0xb0000070 is a builtin UART with DMA
@@ -133,7 +133,7 @@ Default gateway is 10.13.9.1
 Hostname is bbox1
 Telnetd starting, using port 23.
   using /bin/sash as shell.
-sftpd[15]: sftpd $Revision: 1.7 $ starting up
+sftpd[15]: sftpd $Revision: 1.1 $ starting up

[-- Attachment #2: undo-cvs-tag-one-line-chage.pl --]
[-- Type: application/octet-stream, Size: 1399 bytes --]

#!/usr/bin/perl
# ---------------------------------------------------------------------------------------------------
sub replace
   {
      $i = 0;
      print $_;
      while(1)
         {
            $line = <FN>;
            print $line;
            if($line =~ '^-.*\$(Revision|Log|Id|Date|Header|Author|Locker|Name|RCSfile|Source|State).*\$' )
               {
                  $line2 = <FN>;
                  if( $line2 =~ '^\+.*\$(Revision|Log|Id|Date|Header|Author|Locker|Name|RCSfile|Source|State):.*\$'){
                      $line2 = $line;
                      $line2 =~ s/-/+/;
                  }
                  print $line2;
                  return;
               }
            $i++;
            if($i>=5){return;}
         }
   }
# ---------------------------------------------------------------------------------------------------
$fn = @ARGV[0];
# ---------------------------------------------------------------------------------------------------
if(!defined($fn))
   {
      print "\nNo Filename !\n\n";
      print "usage: $0 \$filename\n\n";
      exit;
   }
# ---------------------------------------------------------------------------------------------------
open(FN,$fn);
while(<FN>)
   {
      if($_=~ "\^@@"){&replace();}
      else{print $_;}
   }
close(FN);
# ---------------------------------------------------------------------------------------------------

[-- Attachment #3: refine.sh --]
[-- Type: application/x-sh, Size: 617 bytes --]

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-06-04  7:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-03 19:13 How do I ignore the changes made by CVS keyword substitution efficiently? Lin Mac
2010-06-03 19:35 ` Kyle McMartin
2010-06-03 19:50   ` Lin Mac
2010-06-04  7:13 ` Steven Michalske

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).