Re: [PATCH] test-chmtime: use parse_options() to parse command-line flags
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 27, 2026, 18:48 UTC
- Message-ID
- <xmqqv76nj7ys.fsf@gitster.g>
- In-Reply-To
- <pull.2280.git.1793099688076.gitgitgadget@gmail.com>
"Shashank S via GitGitGadget" <gitgitgadget@gmail.com> writes:
> > t/helper/test-chmtime.c | 46 +++++++++++++++++++---------------------- > 1 file changed, 21 insertions(+), 25 deletions(-)
Forgot to mention one thing. Do we have any tests to cover the behaviour of this test helper? If not, should we add some (not a rhetorical question)?
Also, one thing I missed is that the original ignored --verbose when --get was given, since they contradict with each other. Shouldn't we make them explicitly incompatible with each other, perhaps before where we call timespec_arg()?
Show 10 quoted lines
> @@ -68,40 +71,37 @@ static int timespec_arg(const char *arg, long int *set_time, int *set_eq)
>
> int cmd__chmtime(int argc, const char **argv)
> {
> ...
> + argc = parse_options(argc, argv, NULL, options, chmtime_usage,
> + PARSE_OPT_KEEP_UNKNOWN_OPT);
>
> + if (argc < 1 || (!get && !verbose && argc < 2))
> + usage_with_options(chmtime_usage, options);die_for_incompatible_opt2(get, "--get", verbose, "--verbose");
Show 6 quoted lines
> if (timespec_arg(argv[i], &set_time, &set_eq)) {
> ++i;
> ...
> }
>
> base-commit: 7e34d8174dcda3435d1404c9a30bef46afe6c13e