rcsfixup #5

  • //
  • guest/
  • richard_geiger/
  • utils/
  • cvs2p4/
  • bin/
  • rcsfixup
  • View
  • Commits
  • Open Download .zip Download (1 KB)
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
  & eval 'exec perl -S $0 $argv:q'
  if 0;
#  THE PRECEEDING STUFF EXECS perl via $PATH
# -*-Fundamental-*-

my $path = shift;

open(FO, "<$path") || die "open(\"<$path\"): $!";
open(FN, ">$path.new") || die "open(\">$path.new\"): $!";

# Hmmm. Should we be more discrimiating about where we are in the RCS
# file when we clobber these, so as to avoid inadvertantly whacking
# revision content!?
#

while (<FO>)
  {
#    if (/^expand\s+\@c\@;/) { next; }
#    if (/^expand\s+\@bx\@/) { $_ =~ s/\@bx\@/\@b\@/; } # Fall through
    if (/^mergepoint\d+\s+.*;$/) { next; }    
    if (/^filename\s+.*;$/) { next; }    
    if (/^permissions\s+\d+;$/) { next; }    
    if (/^commitid\s+[a-f\d]+;$/) { next; }    
    if (/^kopt\s+[a-z]+;$/) { next; }    
    if (/^deltatype\s+[a-z]+;$/) { next; }    
    print FN;
    if (/^desc$/) { last; }
  }

while (<FO>)
  { print FN; }

rename($path, "$path.old") || die;
rename("$path.new", "$path") || die;

print STDERR "$path\n";

exit 0;
# Change User Description Committed
#5 6301 Richard Geiger These changes resulted from a recent customer conversion.
A checkpoint, more or less.
#4 5688 Richard Geiger consistently invoke perl via PATH
#3 5638 Richard Geiger update to handle "mergepoint\d+" attributes

cc: [email protected]
#2 5633 Richard Geiger Handle the "filename" attribute that some RCS/CVSes apparently
create these days...
Also, be sure to wipe the Convdir/p4root before genmetadata
does it's thing, so as to remove any ,v files that genmetadata
might find there. Also for general hygiene!
#1 4279 Richard Geiger Add rcsfixup to strip RCS lines that Perforce won't like...