This is an automated email from the git hooks/post-receive script.

jamessan pushed a commit to branch master
in repository devscripts.

commit 5e617030ecb16b84b5da4b5959b29bd1bf5e0cf2
Author: James McCoy <[email protected]>
Date:   Tue Jan 14 19:55:29 2014 -0500

    rc-alert: Ensure the tag/dist description order is stable
    
    Closes: #735286
    Signed-off-by: James McCoy <[email protected]>
---
 debian/changelog    |  2 ++
 scripts/rc-alert.pl | 53 +++++++++++++++++++++++++++++------------------------
 2 files changed, 31 insertions(+), 24 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 3976508..09b3e90 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,8 @@ devscripts (2.13.10) UNRELEASED; urgency=low
   [ James McCoy ]
   * chdist: Ensure error messages end with an EOL.  (Closes: #734307)
   * licensecheck: Add handling for a variation of 3 clause BSD.
+  * rc-alert:
+    + Ensure the tag/dist description order is stable.  (Closes: #735286)
 
  -- Jakub Wilk <[email protected]>  Fri, 27 Dec 2013 18:39:11 +0100
 
diff --git a/scripts/rc-alert.pl b/scripts/rc-alert.pl
index afa5619..8f1f5aa 100755
--- a/scripts/rc-alert.pl
+++ b/scripts/rc-alert.pl
@@ -38,21 +38,24 @@ my $cachefile = $cachedir . basename($url);
 my $forcecache = 0;
 my $usecache = 0;
 
-my %flagmap = ( '(P)' => "pending",
-               '.(\+)' => "patch",
-               '..(H)' => "help [wanted]",
-               '...(M)' => "moreinfo [needed]",
-               '....(R)' => "unreproducible",
-               '.....(S)' => "security",
-               '......(U)' => "upstream",
-               '.......(I)' => "wheezy-ignore or squeeze-ignore",
-             );
+my @flags = (
+    [qr/P/ => 'pending'],
+    [qr/\+/ => 'patch'],
+    [qr/H/ => 'help [wanted]'],
+    [qr/M/ => 'moreinfo [needed]'],
+    [qr/R/ => 'unreproducible'],
+    [qr/S/ => 'security'],
+    [qr/U/ => 'upstream'],
+    [qr/I/ => 'wheezy-ignore or squeeze-ignore'],
+);
 # A little hacky but allows us to sort the list by length
-my %distmap = ( '(O)' => "oldstable",
-               '.?(S)' => "stable",
-               '.?.?(T)' => "testing",
-               '.?.?.?(U)' => "unstable",
-               '.?.?.?.?(E)' => "experimental");
+my @dists = (
+    [qr/O/ => 'oldstable'],
+    [qr/S/ => 'stable'],
+    [qr/T/ => 'testing'],
+    [qr/U/ => 'unstable'],
+    [qr/E/ => 'experimental'],
+);
 
 my $includetags = "";
 my $excludetags = "";
@@ -349,14 +352,15 @@ sub human_flags($) {
     my $matchedexcludes = 0;
     my $applies = 1;
 
-    foreach my $flag ( sort { length $a <=> length $b } keys %flagmap ) {
-       if ($mrf =~ /^\[(?:$flag)/) {
-           if ($excludetags =~ /\Q$1\E/) {
+    foreach my $flagref (@flags) {
+       my ($flag, $desc) = @{$flagref};
+       if ($mrf =~ $flag) {
+           if ($excludetags =~ $flag) {
                $matchedexcludes++;
-           } elsif ($includetags =~ /\Q$1\E/ or ! $includetags) {
+           } elsif ($includetags =~ $flag or ! $includetags) {
                $matchedflags++;
            }
-           push @hrf, $flagmap{$flag};
+           push @hrf, $desc;
        }
     }
     if ($excludetags and $tagexcoperation eq 'and' and
@@ -387,14 +391,15 @@ sub human_dists($) {
     my $matchedexcludes = 0;
     my $applies = 1;
 
-    foreach my $dist ( sort { length $a <=> length $b } keys %distmap ) {
-       if ($mrf =~ /(?:$dist)/) {
-           if ($excludedists =~ /$dist/) {
+    foreach my $distref (@dists) {
+       my ($dist, $desc) = @{$distref};
+       if ($mrf =~ $dist) {
+           if ($excludedists =~ $dist) {
                $matchedexcludes++;
-           } elsif ($includedists =~ /$dist/ or ! $includedists) {
+           } elsif ($includedists =~ $dist or ! $includedists) {
                $matcheddists++;
            }
-           push @hrf, $distmap{$dist};
+           push @hrf, $desc;
        }
     }
     if ($excludedists and $distexcoperation eq 'and' and

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/collab-maint/devscripts.git

_______________________________________________
devscripts-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel

Reply via email to