summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2008-11-29 01:42:50 -0800
committerRobin H. Johnson <robbat2@gentoo.org>2008-11-29 01:42:50 -0800
commit96862c18193fafe16178e2987f23edc14e112d6d (patch)
treee28cb5f5dcf060c73e3c652df689d1e403d09b69 /show-patches.pl
parentIndex handling tool. (diff)
downloadmysql-extras-96862c18193fafe16178e2987f23edc14e112d6d.tar.gz
mysql-extras-96862c18193fafe16178e2987f23edc14e112d6d.tar.bz2
mysql-extras-96862c18193fafe16178e2987f23edc14e112d6d.zip
Split out common part of tools.
Diffstat (limited to 'show-patches.pl')
-rw-r--r--show-patches.pl103
1 files changed, 3 insertions, 100 deletions
diff --git a/show-patches.pl b/show-patches.pl
index c6732fe..a91648d 100644
--- a/show-patches.pl
+++ b/show-patches.pl
@@ -4,110 +4,13 @@ use Data::Dumper;
use Clone qw(clone);
use warnings;
use strict;
+use lib ".";
+use PatchIndexer;
my ($FH, $index);
open $FH,'<',"000_index.txt";
my @index = parseIndex($FH);
#print Dumper(@index);
-printIndex(\@index);
+print printIndex(\@index);
-sub parseIndex {
- my $fh = shift;
- our (@data, $patch, @ver, @pn, $desc, $comment);
- while(my $i = <$fh>) {
- #print "DATA: $i";
- if(0) {
- # These lines exists for patching only
- #
- #
- } elsif($i =~ /^\s*$/) {
- # Ignore whitespace
- #print "White: $i";
- getEntry();
- storeEntry() if(length($patch));
- #cleanEntry();
- } elsif($i =~ /^\@patch\s+(\S+)\s+$/) {
- cleanEntry();
- $patch = $1;
- chomp $patch;
- } elsif($i =~ /^\@ver\s+(\S+)\s+to\s+(\S+)\s+$/) {
- my $min = $1;
- my $max = $2;
- chomp $min;
- chomp $max;
- #print "Pushing ver $1 $2\n";
- push @ver, [$1,$2];
- } elsif($i =~ /^\@pn\s+(\S+)\s+$/) {
- my $mypn = $1;
- chomp $mypn;
- push @pn, $mypn;
- } elsif($i =~ /^\@\@\s+(.*)\s+$/) {
- # Do not chomp comments
- $desc .= $1."\n";
- } elsif($i =~ /^#\s+(.*)\s+$/) {
- # Do not chomp comments
- $comment .= $1."\n";
- } else {
- print "Bad! $i\n";
- }
- }
- storeEntry() if(length($patch));
- return @data;
-
- sub getEntry {
- my %entry;
- $entry{patch} = $patch;
- $entry{ver} = \@ver;
- $entry{pn} = \@pn;
- chomp $desc;
- $entry{desc} = $desc if (length($desc) > 0);
- chomp $comment;
- $entry{comment} = $comment if (length($comment) > 0);
- #print Dumper(\%entry);
- return %entry;
- }
- sub storeEntry {
- my %entry = getEntry();
- my $entry = clone(\%entry);
- #print Dumper(\%entry);
- push @data, $entry;
- cleanEntry();
- }
- sub cleanEntry {
- $patch = '';
- @ver = ();
- @pn = ();
- $desc = '';
- $comment = '';
- }
-}
-
-sub printIndex {
- $_ = shift;
- my @index = @{ $_ };
- my $os = '';
- foreach my $i (@index) {
- #print Dumper($i);
- $os .= sprintf "\@patch %s\n", $i->{patch};
- foreach $_ ( @{ $i->{ver} } ) {
- my @v = @$_;
- $os .= sprintf "\@ver %s to %s\n", $v[0], $v[1];
- }
- foreach my $pn ( @{ $i->{pn} } ) {
- $os .= sprintf "\@pn %s\n", $pn;
- }
- if($i->{desc}) {
- my $desc = $i->{desc};
- $desc =~ s/^/@@ /gm;
- $os .= $desc."\n";
- }
- if($i->{comment}) {
- my $comment = $i->{comment};
- $comment =~ s/^/# /gm;
- $os .= $comment."\n";
- }
- $os .= "\n";
- }
- print $os;
-}