git-svn: avoid extra get_log calls when refspecs are added for fetching
[gitweb.git] / git-svn.perl
index 58d0600f891bcdfe12479728b3d8760e339d5360..8c24012e7bda810f40c80f372f28d10a55423c22 100755 (executable)
@@ -2370,7 +2370,12 @@ sub gs_fetch_loop_common {
                        skip_unknown_revs($err);
                };
                foreach my $gs (@gs) {
-                       $self->get_log([$gs->{path}], $min, $max, 0, 1, 1, sub
+                       my $min_r = $min;
+                       my $rdb_max = $gs->rev_db_max;
+                       next if $rdb_max >= $max;
+                       $min_r = $rdb_max + 1 if ($rdb_max > $min_r);
+                       $self->get_log([$gs->{path}], $min_r, $max,
+                                      0, 1, 1, sub
                                       { my ($paths, $rev) = @_;
                                         push @{$revs{$rev}},
                                              [ $gs,