Re: [PATCH v6 1/3] replay: use die_for_incompatible_opt2() for option validation
- From
Elijah Newren <newren@gmail.com>
- Date
- Oct 31, 2025, 18:47 UTC
- Message-ID
- <CABPp-BHyUFpFEK1YXSYQWEXSAa2fnUTsH9nsf=LgPs=GNQG2RQ@mail.gmail.com>
- In-Reply-To
- <20251030191931.30837-2-siddharthasthana31@gmail.com>
On Thu, Oct 30, 2025 at 12:19 PM Siddharth Asthana <siddharthasthana31@gmail.com> wrote:
Show 38 quoted lines
>
> In preparation for adding the --ref-action option, convert option
> validation to use die_for_incompatible_opt2(). This helper provides
> standardized error messages for mutually exclusive options.
>
> The following commit introduces --ref-action which will be incompatible
> with certain other options. Using die_for_incompatible_opt2() now means
> that commit can cleanly add its validation using the same pattern,
> keeping the validation logic consistent and maintainable.
>
> This also aligns git-replay's option handling with how other Git commands
> manage option conflicts, using the established die_for_incompatible_opt*()
> helper family.
>
> Signed-off-by: Siddharth Asthana <siddharthasthana31@gmail.com>
> ---
> builtin/replay.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/builtin/replay.c b/builtin/replay.c
> index 6172c8aacc..b64fc72063 100644
> --- a/builtin/replay.c
> +++ b/builtin/replay.c
> @@ -330,9 +330,9 @@ int cmd_replay(int argc,
> usage_with_options(replay_usage, replay_options);
> }
>
> - if (advance_name_opt && contained)
> - die(_("options '%s' and '%s' cannot be used together"),
> - "--advance", "--contained");
> + die_for_incompatible_opt2(!!advance_name_opt, "--advance",
> + contained, "--contained");
> +
> advance_name = xstrdup_or_null(advance_name_opt);
>
> repo_init_revisions(repo, &revs, prefix);
> --
> 2.51.0Thanks for splitting this one out; looks good.