From: Eric Wong <normalperson@yhbt.net> Date: Thu, 1 Feb 2007 12:26:00 +0000 (-0800) Subject: git-svn: avoid extra get_log calls when refspecs are added for fetching X-Git-Tag: v1.5.1-rc1~193 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/502c1bf629154b4a248105b10346a06a6ff07387 git-svn: avoid extra get_log calls when refspecs are added for fetching Since fetch_loop_common starts from the lowest revision number in a group of Git::SVN objects; we want to avoid refetching get_log for current users for things we've already cut it. Signed-off-by: Eric Wong <normalperson@yhbt.net> --- diff --git a/git-svn.perl b/git-svn.perl index 58d0600f89..8c24012e7b 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -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,