------------------------------------------------------------
revno: 911
committer: Debian BTS <debb...@rietz>
branch nick: mainline
timestamp: Wed 2009-11-25 20:31:43 +0000
message:
  merge changes from don source
    ------------------------------------------------------------
    revno: 738.3.196
    committer: Don Armstrong <d...@donarmstrong.com>
    branch nick: source
    timestamp: Wed 2009-11-25 12:30:31 -0800
    message:
      handle multiple packages and tags in limit
    ------------------------------------------------------------
    revno: 738.3.195
    committer: Don Armstrong <d...@donarmstrong.com>
    branch nick: source
    timestamp: Tue 2009-10-20 13:36:01 -0700
    message:
      add config switch for simple_versioning
=== modified file 'Debbugs/Config.pm'
--- Debbugs/Config.pm   2009-08-17 20:20:01 +0000
+++ Debbugs/Config.pm   2009-11-25 20:31:18 +0000
@@ -59,6 +59,7 @@
                                 qw($gMaintainerFileOverride $gPseudoMaintFile 
$gPseudoDescFile $gPackageSource),
                                 qw($gVersionPackagesDir $gVersionIndex 
$gBinarySourceMap $gSourceBinaryMap),
                                 qw($gVersionTimeIndex),
+                                qw($gSimpleVersioning),
                                 qw($gSendmail $gLibPath $gSpamScan 
@gExcludeFromControl),
                                 qw(%gSeverityDisplay @gTags @gSeverityList 
@gStrongSeverities),
                                 qw(%gTagsSingleLetter),
@@ -762,6 +763,17 @@
 set_default(\%config,'package_source',$config{config_dir}.'/indices/sources');
 
 
+=item simple_versioning
+
+If true this causes debbugs to ignore version information and just
+look at whether a bug is done or not done. Primarily of interest for
+debbugs installs which don't track versions. defaults to false.
+
+=cut
+
+set_default(\%config,'simple_versioning',0);
+
+
 =item version_packages_dir
 
 Location where the version package information is kept; defaults to

=== modified file 'Debbugs/Control.pm'
--- Debbugs/Control.pm  2009-09-03 05:44:32 +0000
+++ Debbugs/Control.pm  2009-11-25 20:31:18 +0000
@@ -2799,23 +2799,28 @@
     my $transcript = globify_scalar(exists 
$param{transcript}?$param{transcript}:undef);
     my $going_to_fail = 0;
     for my $data (@data) {
-       $data = get_bug_status(bug => $data->{bug_num},
-                              status => dclone($data),
-                             );
+       $data = split_status_fields(get_bug_status(bug => $data->{bug_num},
+                                                  status => dclone($data),
+                                                 ));
        for my $field (keys %{$param{limit}}) {
            next unless exists $param{limit}{$field};
            my $match = 0;
-           for my $limit (make_list($param{limit}{$field})) {
+           my @data_fields = make_list($data->{$field});
+LIMIT:     for my $limit (make_list($param{limit}{$field})) {
                if (not ref $limit) {
-                   if ($data->{$field} eq $limit) {
-                       $match = 1;
-                       last;
+                   for my $data_field (@data_fields) {
+                       if ($data_field eq $limit) {
+                           $match = 1;
+                           last LIMIT;
+                       }
                    }
                }
                elsif (ref($limit) eq 'Regexp') {
-                   if ($data->{$field} =~ $limit) {
-                       $match = 1;
-                       last;
+                   for my $data_field (@data_fields) {
+                       if ($data_field =~ $limit) {
+                           $match = 1;
+                           last LIMIT;
+                       }
                    }
                }
                else {

Reply via email to