From: Eric Wong Date: Mon, 28 Nov 2022 05:32:21 +0000 (+0000) Subject: lei_mirror: shorten scope mirror objects X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=5cb15eabbd8df11656081f4ff504fc6c9a82a37a lei_mirror: shorten scope mirror objects We may be able to save some memory this way. --- diff --git a/lib/PublicInbox/LeiMirror.pm b/lib/PublicInbox/LeiMirror.pm index 79861d64..f7db5a49 100644 --- a/lib/PublicInbox/LeiMirror.pm +++ b/lib/PublicInbox/LeiMirror.pm @@ -881,18 +881,20 @@ sub multi_inbox ($$$) { sub clone_all { my ($self, $m) = @_; my $todo = delete $self->{todo}; - my $nodep = delete $todo->{''}; - - # do not download unwanted deps - my $any_want = delete $self->{any_want}; - my @unwanted = grep { !$any_want->{$_} } keys %$todo; - my @nodep = delete(@$todo{@unwanted}); - push(@$nodep, @$_) for @nodep; - - # handle no-dependency repos, first - for (@$nodep) { - clone_v1($_, 1); - return if !keep_going($self); + { + my $nodep = delete $todo->{''}; + + # do not download unwanted deps + my $any_want = delete $self->{any_want}; + my @unwanted = grep { !$any_want->{$_} } keys %$todo; + my @nodep = delete(@$todo{@unwanted}); + push(@$nodep, @$_) for @nodep; + + # handle no-dependency repos, first + for (@$nodep) { + clone_v1($_, 1); + return if !keep_going($self); + } } # resolve references, deepest, first: while (scalar keys %$todo) {