We may be able to save some memory this way.
---
lib/PublicInbox/LeiMirror.pm | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
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) {