On Fri, Apr 25, 2025 at 11:34:01AM +0200, Johannes Schindelin wrote: > 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). > 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