From: Junio C Hamano <gitster@pobox.com>
To: "René Scharfe" <l.s.r@web.de>
Cc: "Git List" <git@vger.kernel.org>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Taylor Blau" <me@ttaylorr.com>,
"Christian Couder" <chriscool@tuxfamily.org>,
"Jeff King" <peff@peff.net>
Subject: Re: [PATCH v3 3/5] pack-objects: fix handling of multiple --filter options
Date: Wed, 30 Nov 2022 10:09:05 +0900 [thread overview]
Message-ID: <xmqq7czd2qq6.fsf@gitster.g> (raw)
In-Reply-To: <6c7ef5fb-59b5-df16-036d-9a9a3d987cb0@web.de> ("René Scharfe"'s message of "Tue, 29 Nov 2022 13:23:53 +0100")
René Scharfe <l.s.r@web.de> writes:
> Since 5cb28270a1 (pack-objects: lazily set up "struct rev_info", don't
> leak, 2022-03-28) --filter options given to git pack-objects overrule
> earlier ones, letting only the leftmost win and leaking the memory
> allocated for earlier ones. Fix that by only initializing the rev_info
> struct once.
I think "leftmost" -> "rightmost", if your command line goes from
left to right? Or "leftmost" -> "last" (e.g. "last one wins" over
"earlier ones")?
> Signed-off-by: René Scharfe <l.s.r@web.de>
> ---
> builtin/pack-objects.c | 3 ++-
> t/t5317-pack-objects-filter-objects.sh | 2 +-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
> index 573d0b20b7..c702c09dd4 100644
> --- a/builtin/pack-objects.c
> +++ b/builtin/pack-objects.c
> @@ -4158,7 +4158,8 @@ static struct list_objects_filter_options *po_filter_revs_init(void *value)
> {
> struct po_filter_data *data = value;
>
> - repo_init_revisions(the_repository, &data->revs, NULL);
> + if (!data->have_revs)
> + repo_init_revisions(the_repository, &data->revs, NULL);
> data->have_revs = 1;
>
> return &data->revs.filter;
> diff --git a/t/t5317-pack-objects-filter-objects.sh b/t/t5317-pack-objects-filter-objects.sh
> index 25faebaada..5b707d911b 100755
> --- a/t/t5317-pack-objects-filter-objects.sh
> +++ b/t/t5317-pack-objects-filter-objects.sh
> @@ -265,7 +265,7 @@ test_expect_success 'verify normal and blob:limit packfiles have same commits/tr
> test_cmp expected observed
> '
>
> -test_expect_failure 'verify small limit and big limit results in small limit' '
> +test_expect_success 'verify small limit and big limit results in small limit' '
> git -C r2 ls-files -s large.1000 >ls_files_result &&
> test_parse_ls_files_stage_oids <ls_files_result |
> sort >expected &&
> --
> 2.38.1
next prev parent reply other threads:[~2022-11-30 1:09 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-12 10:42 [PATCH 0/3] pack-objects: fix and simplify --filter handling René Scharfe
2022-11-12 10:44 ` [PATCH 1/3] pack-objects: fix handling of multiple --filter options René Scharfe
2022-11-12 11:41 ` Ævar Arnfjörð Bjarmason
2022-11-13 17:31 ` René Scharfe
2022-11-12 16:58 ` Jeff King
2022-11-13 5:01 ` Taylor Blau
2022-11-13 16:44 ` Jeff King
2022-11-13 17:31 ` René Scharfe
2022-11-12 10:44 ` [PATCH 2/3] pack-object: simplify --filter handling René Scharfe
2022-11-12 11:45 ` Ævar Arnfjörð Bjarmason
2022-11-12 17:02 ` Jeff King
2022-11-13 16:49 ` Jeff King
2022-11-13 17:31 ` René Scharfe
2022-11-12 10:46 ` [PATCH 3/3] list-objects-filter: remove OPT_PARSE_LIST_OBJECTS_FILTER_INIT() René Scharfe
2022-11-20 10:03 ` [PATCH v2 0/3] pack-objects: fix and simplify --filter handling René Scharfe
2022-11-20 10:06 ` [PATCH v2 1/3] t5317: stop losing return codes of git ls-files René Scharfe
2022-11-20 10:07 ` [PATCH v2 2/3] t5317: demonstrate failure to handle multiple --filter options René Scharfe
2022-11-20 10:13 ` [PATCH v2 3/3] Revert "pack-objects: lazily set up "struct rev_info", don't leak" René Scharfe
2022-11-28 10:03 ` Junio C Hamano
2022-11-28 11:12 ` Ævar Arnfjörð Bjarmason
2022-11-28 12:00 ` [PATCH] t5314: check exit code of "rev-parse" Ævar Arnfjörð Bjarmason
2022-11-28 13:51 ` René Scharfe
2022-11-28 14:18 ` [PATCH v2] t5314: check exit code of "git" Ævar Arnfjörð Bjarmason
2022-11-28 11:26 ` [PATCH v2 3/3] Revert "pack-objects: lazily set up "struct rev_info", don't leak" René Scharfe
2022-11-28 11:31 ` Ævar Arnfjörð Bjarmason
2022-11-28 12:24 ` Ævar Arnfjörð Bjarmason
2022-11-28 15:16 ` René Scharfe
2022-11-28 15:27 ` Ævar Arnfjörð Bjarmason
2022-11-28 14:29 ` René Scharfe
2022-11-28 14:34 ` Ævar Arnfjörð Bjarmason
2022-11-28 15:56 ` René Scharfe
2022-11-28 17:57 ` René Scharfe
2022-11-28 18:32 ` Ævar Arnfjörð Bjarmason
2022-11-28 21:57 ` René Scharfe
2022-11-29 1:26 ` Jeff King
2022-11-29 1:46 ` Junio C Hamano
2022-11-29 10:25 ` Ævar Arnfjörð Bjarmason
2022-11-29 7:12 ` Ævar Arnfjörð Bjarmason
2022-11-29 19:18 ` René Scharfe
2022-11-28 17:57 ` Ævar Arnfjörð Bjarmason
2022-11-22 19:02 ` [PATCH v2 0/3] pack-objects: fix and simplify --filter handling Jeff King
2022-11-29 12:19 ` [PATCH v3 0/5] " René Scharfe
2022-11-29 12:21 ` [PATCH v3 1/5] t5317: stop losing return codes of git ls-files René Scharfe
2022-11-29 12:22 ` [PATCH v3 2/5] t5317: demonstrate failure to handle multiple --filter options René Scharfe
2022-11-29 12:23 ` [PATCH v3 3/5] pack-objects: fix handling of " René Scharfe
2022-11-30 1:09 ` Junio C Hamano [this message]
2022-11-30 7:11 ` René Scharfe
2022-11-29 12:25 ` [PATCH v3 4/5] pack-objects: simplify --filter handling René Scharfe
2022-11-29 13:27 ` Ævar Arnfjörð Bjarmason
2022-11-30 11:23 ` René Scharfe
2022-11-29 12:26 ` [PATCH v3 5/5] list-objects-filter: remove OPT_PARSE_LIST_OBJECTS_FILTER_INIT() René Scharfe
2022-11-30 1:20 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqq7czd2qq6.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=avarab@gmail.com \
--cc=chriscool@tuxfamily.org \
--cc=git@vger.kernel.org \
--cc=l.s.r@web.de \
--cc=me@ttaylorr.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.