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>
This commit is contained in:
@ -2370,7 +2370,12 @@ sub gs_fetch_loop_common {
|
|||||||
skip_unknown_revs($err);
|
skip_unknown_revs($err);
|
||||||
};
|
};
|
||||||
foreach my $gs (@gs) {
|
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) = @_;
|
{ my ($paths, $rev) = @_;
|
||||||
push @{$revs{$rev}},
|
push @{$revs{$rev}},
|
||||||
[ $gs,
|
[ $gs,
|
||||||
|
Reference in New Issue
Block a user