[PATCH 2/2] builtin/add: use die_for_required_opt() helper
- From
Siddharth Shrimali <r.siddharth.shrimali@gmail.com>
- Date
- Jun 3, 2026, 11:10 UTC
- Message-ID
- <20260603111044.39116-3-r.siddharth.shrimali@gmail.com>
- In-Reply-To
- <20260603111044.39116-1-r.siddharth.shrimali@gmail.com>
Clean up manual option dependency checks by replacing explicit conditional blocks with the newly introduced die_for_required_opt() helper function.
Specifically, simplify the prerequisite check logic for both '--ignore-missing' (which requires '--dry-run') and '--pathspec-file-nul' (which requires '--pathspec-from-file').
Signed-off-by: Siddharth Shrimali <r.siddharth.shrimali@gmail.com> --- builtin/add.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/builtin/add.c b/builtin/add.c index c859f66519..a5c91c6dcf 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -441,8 +441,7 @@ int cmd_add(int argc, if (addremove && take_worktree_changes) die(_("options '%s' and '%s' cannot be used together"), "-A", "-u"); - if (!show_only && ignore_missing) - die(_("the option '%s' requires '%s'"), "--ignore-missing", "--dry-run"); + die_for_required_opt(ignore_missing, "--ignore-missing", show_only, "--dry-run"); if (chmod_arg && ((chmod_arg[0] != '-' && chmod_arg[0] != '+') || chmod_arg[1] != 'x' || chmod_arg[2])) @@ -462,6 +461,8 @@ int cmd_add(int argc, PATHSPEC_SYMLINK_LEADING_PATH, prefix, argv); + die_for_required_opt(pathspec_file_nul, "--pathspec-file-nul", + !!pathspec_from_file, "--pathspec-from-file"); if (pathspec_from_file) { if (pathspec.nr) die(_("'%s' and pathspec arguments cannot be used together"), "--pathspec-from-file"); @@ -470,8 +471,6 @@ int cmd_add(int argc, PATHSPEC_PREFER_FULL | PATHSPEC_SYMLINK_LEADING_PATH, prefix, pathspec_from_file, pathspec_file_nul); - } else if (pathspec_file_nul) { - die(_("the option '%s' requires '%s'"), "--pathspec-file-nul", "--pathspec-from-file"); } if (require_pathspec && pathspec.nr == 0) {
-- 2.54.0