Re: CVS repository invalid revision - Mailing list pgsql-hackers

From Aidan Van Dyk
Subject Re: CVS repository invalid revision
Date
Msg-id 20080220225300.GE16099@yugib.highrise.ca
Whole thread Raw
In response to Re: CVS repository invalid revision  (Aidan Van Dyk <aidan@highrise.ca>)
List pgsql-hackers
* Aidan Van Dyk <aidan@highrise.ca> [080220 17:00]:

> It happens that it's choking on a bunch of the various REL7_1 tags...
> And, the fromcvs converter, which works fine, just happens to *not*
> support importing tags - go figure ;-)
> 
> So, my solution - strip them all out, and low-and-behold, cvsps works
> (and thus, so does git-cvsimport).
> 
> So, for people having problems with the "cvs repository", try and
> eliminate the REL7_1* tags, and see if the problems go away...
> 
> Here's my ugly 30 second perl to "remove" the REL7_* tags...

I see I forgot to include it.

I've found that it's only REL7_1_BETA[23] that cause the problem...

And it seems like both those tags are taging various files from various
points in time, and such a way that cvsps loops forever...

Here' my perl to "fix" the repository and allow cvsps to work:

It's ugly, and I make no guarantee that it doesn't "corrupt" some binary
file somewhere...
#!/usr/bin/perlmy @TAGS = qw(REL7_1_BETA2 REL7_1_BETA3);for my $file (@ARGV){    my $i, $o;    my @sb = stat($file);
printf"%s: %d\n", $file, $sb[7];
 
    open(INPUT, "<:raw", $file) || die "Couldn't open $file: $!\n";    $i = sysread INPUT, $buf, $sb[7];    close
INPUT;
    for my $tag (@TAGS)    {        $buf =~ s/      $tag:[.0-9]*\n//es;        $buf =~ s/\n    $tag:[.0-9]*;\n/;\n/es;
 }
 
    open OUTPUT, ">:raw", "$file.new";    $o = syswrite OUTPUT, $buf;    close OUTPUT;    printf "IN: %d OUT: %d\n",
$i,$o;    rename ("$file.new", $file) || die "Couldn't rename: $!\n";}
 

Run it over the repository like:find CVSROOT/pgsql -name \*,v | xargs perl parse.pl

YMMV...

a.

-- 
Aidan Van Dyk                                             Create like a god,
aidan@highrise.ca                                       command like a king,
http://www.highrise.ca/                                   work like a slave.

pgsql-hackers by date:

Previous
From: Aidan Van Dyk
Date:
Subject: Re: CVS repository invalid revision
Next
From: "Josh Berkus"
Date:
Subject: Re: Permanent settings