From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Jonathan Tan <jonathantanmy@google.com>,
git@vger.kernel.org, stolee@gmail.com
Subject: Re: [PATCH] index-pack: teach --promisor to require --stdin
Date: Wed, 20 Nov 2024 10:34:04 +0900 [thread overview]
Message-ID: <xmqqcyiqadtf.fsf@gitster.g> (raw)
In-Reply-To: <20241119185345.GB15723@coredump.intra.peff.net> (Jeff King's message of "Tue, 19 Nov 2024 13:53:45 -0500")
Jeff King <peff@peff.net> writes:
> But I think that makes the --stdin check redundant. I.e., here:
>
>> diff --git a/builtin/index-pack.c b/builtin/index-pack.c
>> index 08b340552f..c46b6e4061 100644
>> --- a/builtin/index-pack.c
>> +++ b/builtin/index-pack.c
>> @@ -1970,6 +1970,10 @@ int cmd_index_pack(int argc,
>> usage(index_pack_usage);
>> if (fix_thin_pack && !from_stdin)
>> die(_("the option '%s' requires '%s'"), "--fix-thin", "--stdin");
>> + if (promisor_msg && !from_stdin)
>> + die(_("the option '%s' requires '%s'"), "--promisor", "--stdin");
>> + if (promisor_msg && pack_name)
>> + die(_("--promisor cannot be used with a pack name"));
>
> ...just the second one would be sufficient, because the context just
> above this has:
>
> if (!pack_name && !from_stdin)
> usage(index_pack_usage);
>
> So if there isn't a pack name then from_stdin must be set anyway.
Nice findings that leads to ...
> What you've written won't behave incorrectly, but I wonder if this means
> we can explain the rule in a more simple way:
>
> - the --promisor option requires that we be indexing a pack in the
> object database
>
> - when not given a pack name on the command line, we know this is true
> (because we generate the name ourselves internally)
>
> - when given a pack name on the command line, we _could_ check that it
> is inside the object directory, but we don't currently do so and
> just bail. That could be changed in the future.
>
> And then there is no mention of --stdin at all (though of course it is
> an implication of the second point, since we have to get input somehow).
... a good simplification. Not of the implementation---as it is
already simple enough---but of the concept, and simplification of
the latter counts a lot more ;-)
Thanks, both, for working on this.
next prev parent reply other threads:[~2024-11-20 1:34 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-24 18:08 [PATCH 0/5] When fetching from a promisor remote, repack local objects referenced Jonathan Tan
2024-10-24 18:08 ` [PATCH 1/5] pack-objects: make variable non-static Jonathan Tan
2024-10-28 0:30 ` Taylor Blau
2024-10-28 19:34 ` Jonathan Tan
2024-10-28 19:50 ` Taylor Blau
2024-10-28 23:04 ` Jonathan Tan
2024-10-24 18:08 ` [PATCH 2/5] t0410: make test description clearer Jonathan Tan
2024-10-24 18:08 ` [PATCH 3/5] t0410: use from-scratch server Jonathan Tan
2024-10-24 18:08 ` [PATCH 4/5] t5300: move --window clamp test next to unclamped Jonathan Tan
2024-10-24 18:08 ` [PATCH 5/5] index-pack: repack local links into promisor packs Jonathan Tan
2024-10-30 22:29 ` Josh Steadmon
2024-11-01 20:14 ` Jonathan Tan
2024-10-25 6:04 ` [External] [PATCH 0/5] When fetching from a promisor remote, repack local objects referenced Han Young
2024-10-25 21:07 ` Taylor Blau
2024-11-02 10:38 ` Junio C Hamano
2024-10-25 21:07 ` Taylor Blau
2024-11-01 20:11 ` [PATCH v2 0/4] " Jonathan Tan
2024-11-01 20:11 ` [PATCH v2 1/4] t0410: make test description clearer Jonathan Tan
2024-11-01 20:11 ` [PATCH v2 2/4] t0410: use from-scratch server Jonathan Tan
2024-11-01 20:11 ` [PATCH v2 3/4] t5300: move --window clamp test next to unclamped Jonathan Tan
2024-11-13 7:35 ` Jeff King
2024-11-13 18:26 ` Jonathan Tan
2024-11-14 0:56 ` Jeff King
2024-11-14 6:41 ` Junio C Hamano
2024-11-15 9:52 ` Jeff King
2024-11-15 19:55 ` Jonathan Tan
2024-11-16 3:23 ` Jeff King
2024-11-18 19:02 ` [PATCH] index-pack: teach --promisor to require --stdin Jonathan Tan
2024-11-19 3:29 ` Junio C Hamano
2024-11-19 18:53 ` Jeff King
2024-11-20 1:34 ` Junio C Hamano [this message]
2024-11-19 20:10 ` [PATCH v2] index-pack: teach --promisor to forbid pack name Jonathan Tan
2024-11-20 6:29 ` Jeff King
2024-11-14 0:59 ` [PATCH v2 3/4] t5300: move --window clamp test next to unclamped Jeff King
2024-11-01 20:11 ` [PATCH v2 4/4] index-pack: repack local links into promisor packs Jonathan Tan
2024-11-04 0:22 ` [PATCH v2 0/4] When fetching from a promisor remote, repack local objects referenced Junio C Hamano
2024-11-04 2:05 ` 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=xmqqcyiqadtf.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=jonathantanmy@google.com \
--cc=peff@peff.net \
--cc=stolee@gmail.com \
/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.