X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bin%2Fdebbugs-loadsql-versions;h=44d1a8bbc1784d99f00e0280482244b725e8be66;hb=288859ac0b478e3083882638f985c3b006035b1d;hp=e1dc36cb4389234fc6ad2a7e033656932aaf049b;hpb=0470f514b3b66a143ff64ae4b5e4746b93829cb2;p=debbugs.git diff --git a/bin/debbugs-loadsql-versions b/bin/debbugs-loadsql-versions index e1dc36c..44d1a8b 100755 --- a/bin/debbugs-loadsql-versions +++ b/bin/debbugs-loadsql-versions @@ -43,7 +43,7 @@ Postgreql service to use; defaults to debbugs System configuration directory to use; if not set, defaults to the postgresql default. [Operates by setting PGSYSCONFDIR] -=item B<--debug, -d +=item B<--debug, -d> Debug verbosity. @@ -119,6 +119,7 @@ for my $file (@files) { my $fh = IO::File->new($file,'r') or die "Unable to open $file for reading: $!"; my @versions; + my %src_pkgs; while (<$fh>) { chomp; next unless length $_; @@ -128,14 +129,20 @@ for my $file (@files) { } close($fh); my $ancestor_sv; - for my $i (reverse 0..($#versions-1)) { - my $sp = $s->resultset('SrcPkg')->find({pkg => $versions[$i][0]}); + for my $i (reverse 0..($#versions)) { + my $sp; + if (not defined $src_pkgs{$versions[$i][0]}) { + $src_pkgs{$versions[$i][0]} = + $s->resultset('SrcPkg')->find({pkg => $versions[$i][0]}); + } + $sp = $src_pkgs{$versions[$i][0]}; + # There's probably something wrong if the source package + # doesn't exist, but we'll skip it for now next unless defined $sp; my $sv = $s->resultset('SrcVer')->find({src_pkg_id=>$sp->id(), ver => $versions[$i][1], }); if (defined $ancestor_sv and defined $sv and not defined $sv->based_on()) { - print "checking out for $versions[$i][1]\n"; $sv->update({based_on => $ancestor_sv->id()}) } $ancestor_sv = $sv;