(unnamed)
text/plain
Filename: (unnamed)
Type: text/plain
Part: 2
#! /usr/bin/perl -w
while(<>) {
if (m/^(\S+)\s+(\S+)\s+(\S+)\s+(.+)$/) {
my $tarball = $1;
my $cvsroot = $2;
my $project = $3;
my $tagopt = $4;
$tarball =~ m/^\w+-(\S+)\.tar.gz$/;
my $tag = $1;
system("cvs -Q -d $cvsroot co -d cvsout $tagopt $project") == 0 || die "cvs failed: $?";
system("tar xfz ../$tarball") == 0 || die "tar failed: $?";
system("find cvsout post* -name CVS -type d | xargs rm -rf") == 0 || die "find failed: $?";
# hacks to make certain old versions diff successfully
if ((-d "postgresql-v$tag/src" and
not -d "postgresql-v$tag/src/interfaces") or
-d "postgres95/src") {
print "moving src/interfaces for $tag\n";
system("mv cvsout/src/interfaces/* cvsout/src") == 0 || die "mv failed: $?";
system("rmdir cvsout/src/interfaces") == 0 || die "rmdir failed: $?";
}
if (-d "postgresql-v$tag/src/pgsql_perl5") {
print "moving perl5 for $tag\n";
system("mv cvsout/src/perl5 cvsout/src/pgsql_perl5") == 0 || die "mv failed: $?";
}
if (-f "postgresql-$tag/src/backend/commands/version.c" or
-f "postgresql-v$tag/src/backend/commands/version.c" or
-f "postgres95/src/backend/commands/version.c") {
print "moving version.c for $tag\n";
system("mv cvsout/src/backend/commands/_deadcode/version.c cvsout/src/backend/commands") == 0 || die "mv failed: $?";
system("rmdir cvsout/src/backend/commands/_deadcode 2>/dev/null");
}
if (-d "postgresql-$tag/src/test/locale/ISO8859-7") {
print "moving ISO8859-7 for $tag\n";
system("mv cvsout/src/test/locale/gr_GR.ISO8859-7 cvsout/src/test/locale/ISO8859-7") == 0 || die "mv failed: $?";
}
system("diff -cr cvsout post* >diffs/diff.$tag");
system("diff -cr -I '\$PostgreSQL' -I '\$Header' cvsout post* >diffs/diff.$tag.na");
system("rm -rf cvsout post*") == 0 || die "rm failed: $?";
}
}