Re: [PATCH 1/3] test-tool: add pack-deltas helper
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Apr 25, 2025, 09:45 UTC
- Message-ID
- <aAtZuU6Qqfag6OHj@pks.im>
- In-Reply-To
- <090ef16f-42a7-8de6-a79e-5a1958e2c103@gmx.de>
On Fri, Apr 25, 2025 at 11:34:01AM +0200, Johannes Schindelin wrote:
Show 36 quoted lines
> Hi Patrick,
>
> On Fri, 25 Apr 2025, Patrick Steinhardt wrote:
>
> > On Wed, Apr 23, 2025 at 05:40:02PM +0000, Derrick Stolee via GitGitGadget wrote:
> > > diff --git a/t/helper/test-pack-deltas.c b/t/helper/test-pack-deltas.c
> > > new file mode 100644
> > > index 00000000000..db7d1c3cd1f
> > > --- /dev/null
> > > +++ b/t/helper/test-pack-deltas.c
> > > @@ -0,0 +1,140 @@
> > [snip]
> > > +int cmd__pack_deltas(int argc, const char **argv)
> > > +{
> > > + int N;
> > > + struct hashfile *f;
> > > + struct strbuf line = STRBUF_INIT;
> > > +
> > > + if (argc != 2) {
> > > + usage(usage_str);
> > > + return -1;
> > > + }
> > > +
> > > + N = atoi(argv[1]);
> >
> > Is there a reason why we don't use `parse_options()` here? It might make
> > this tool easier to use and extend going forward, and we wouldn't have
> > to care about invalid arguments. Right now, we silently accept a
> > non-integer argument and do the wrong thing.
>
> I think that `parse_options()` would be overkill here because:
>
> - This is a _mandatory_ argument, not an optional one.
>
> - The required data type is `uint32_t`, and `parse_options()` has no
> support for that.Support for that has been merged just this week via 2bc5414c411 (Merge branch 'ps/parse-options-integers', 2025-04-24).
Show 5 quoted lines
> But you do have a good point in that we may want to validate the data type > (even if technically, this is not a user-facing program, it's a test > helper that is used under tight control by Git's own test suite). > > Consequently, I would suggest this fixup instead:
But in any case, I'd be equally fine with your suggestion.
Patrick