[kernel] r5661 - patch-tracking/scripts
Simon Horman
horms at costa.debian.org
Wed Feb 1 03:19:14 UTC 2006
Author: horms
Date: Wed Feb 1 03:19:12 2006
New Revision: 5661
Added:
patch-tracking/scripts/verify-report.pl (contents, props changed)
Log:
Script to show missing/extra fields in patch-tracker entries
Added: patch-tracking/scripts/verify-report.pl
==============================================================================
--- (empty file)
+++ patch-tracking/scripts/verify-report.pl Wed Feb 1 03:19:12 2006
@@ -0,0 +1,70 @@
+#!/usr/bin/perl -w
+# Analyse patch-tracker entries
+# Problems reported to stderr
+# Suggested entrie printed to stdout
+# Must be run in directory with patch-tracker entries
+#
+# (C) 2006 Horms <horms at verge.net.au>
+# Released under the terms of the GNU GPL v2
+
+use strict;
+
+my $BOILERPLATE = "00boilerplate";
+
+sub readfile {
+ my ($file) = (@_);
+ my $l = [];
+ my $h = {};
+ my $key = undef;
+
+ open BP, "<$file" or die "Could not open \"$file\" for reading\n";
+ while (<BP>) {
+ if (m/(^[a-zA-Z0-9.-]+:)(.*)/ and $1 ne "http:") {
+ $key = $1;
+ push @$l , $1;
+ $h->{"$1"} = $2 . "\n";
+ }
+ elsif (defined $key) {
+ $h->{"$key"} .= $_;
+ }
+ else {
+ print STDERR "Leading crap: $_";
+ }
+ }
+ close BP;
+
+ return ($l, $h);
+}
+
+{
+ my $bp_l;
+ my $bp_h;
+ my $l;
+ my $h;
+
+ ($bp_l, $bp_h) = readfile($BOILERPLATE);
+
+ foreach my $f (@ARGV) {
+ ($l, $h) = readfile($f);
+ my $log_p = (scalar @ARGV > 1) ? "$f: " : "";
+ for my $i (@$bp_l) {
+ if (defined $h->{"$i"}) {
+ print $i . $h->{"$i"};
+ delete $h->{"$i"};
+ }
+ else {
+ print STDERR $log_p . "Missing Field: \"$i\"\n";
+ print $i . " XXX\n";
+ }
+ }
+ for my $i (keys %$h) {
+ print STDERR $log_p . "Extra Feild: \"$i\"\n";
+ if (defined $h->{"$i"}) {
+ print $i . $h->{"$i"};
+ }
+ else {
+ print $i . " XXX\n";
+ }
+ }
+ }
+}
More information about the Kernel-svn-changes
mailing list