From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id B0418203CC for ; Mon, 28 Nov 2022 05:32:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1669613570; bh=PgaIp47kwsNCSfUpcHGlw1tlKLyTcTefBqY15VOnay8=; h=From:To:Subject:Date:In-Reply-To:References:From; b=vXWKwffrvf+IRiuP2g/C8iaU5sh8M8wiwNEBvgulujEDLoYoznl78KolSneyonEZd LC7+4D2EsALfX7U9xoe/H9pzM/o4LjOs7JuyDmlopnABA/hG6vx8A7qDlPPUJX1/x9 KZ51DG+JDy+M07HaZUV5L+1CFPnC6p7XKRT8hoNo= From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 84/95] lei_mirror: shorten scope mirror objects Date: Mon, 28 Nov 2022 05:32:21 +0000 Message-Id: <20221128053232.291618-85-e@80x24.org> In-Reply-To: <20221128053232.291618-1-e@80x24.org> References: <20221128053232.291618-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: 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) {