]> git.donarmstrong.com Git - debbugs.git/commitdiff
* Propery handle caching of guess_source => 0
authorDon Armstrong <don@donarmstrong.com>
Thu, 1 Jan 2009 01:58:49 +0000 (17:58 -0800)
committerDon Armstrong <don@donarmstrong.com>
Thu, 1 Jan 2009 01:58:49 +0000 (17:58 -0800)
Debbugs/Packages.pm

index b448db3c42e2731009575251f5a15086768711af..da01c70070560f7f586e985fb50a855edb6ea579 100644 (file)
@@ -483,6 +483,13 @@ sub make_source_versions {
                        }
                        next;
                    }
+                   elsif ($param{guess_source} and
+                          exists$param{source_version_cache}{$cachekey.'/guess'}) {
+                       for my $v (@{$param{source_version_cache}{$cachekey}}) {
+                           $sourceversions{$v} = 1;
+                       }
+                       next;
+                   }
                    my @srcinfo = binarytosource($pkg, $version, $arch);
                    if (not @srcinfo) {
                        # We don't have explicit information about the
@@ -503,10 +510,15 @@ sub make_source_versions {
                            } else {
                                next;
                            }
+                           # store guesses in a slightly different location
+                           $param{source_version_cache}{$cachekey.'/guess'} = [ map { "$_->[0]/$_->[1]" } @srcinfo ];
                        }
                    }
+                   else {
+                       # only store this if we didn't have to guess it
+                       $param{source_version_cache}{$cachekey} = [ map { "$_->[0]/$_->[1]" } @srcinfo ];
+                   }
                    $sourceversions{"$_->[0]/$_->[1]"} = 1 foreach @srcinfo;
-                   $param{source_version_cache}{$cachekey} = [ map { "$_->[0]/$_->[1]" } @srcinfo ];
                }
            }
         }