builtin/maintenance: mark "--task=" and "--schedule=" as incompatible
The "--task=" option explicitly allows the user to say which maintenance tasks should be run, whereas "--schedule=" only respects the maintenance strategy configured for a specific repository. As such, it is not sensible to accept both options at the same time. Mark them as incompatible with one another. While at it, also convert the existing logic that marks "--auto" and "--schedule=" as incompatible to use `die_for_incompatible_opt2()`. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
1bb6bdb646
commit
a7c86d328f
@@ -1785,8 +1785,10 @@ static int maintenance_run(int argc, const char **argv, const char *prefix,
|
||||
builtin_maintenance_run_usage,
|
||||
PARSE_OPT_STOP_AT_NON_OPTION);
|
||||
|
||||
if (opts.auto_flag && opts.schedule)
|
||||
die(_("use at most one of --auto and --schedule=<frequency>"));
|
||||
die_for_incompatible_opt2(opts.auto_flag, "--auto",
|
||||
opts.schedule, "--schedule=");
|
||||
die_for_incompatible_opt2(selected_tasks.nr, "--task=",
|
||||
opts.schedule, "--schedule=");
|
||||
|
||||
gc_config(&cfg);
|
||||
initialize_task_config(&selected_tasks, opts.schedule);
|
||||
|
||||
@@ -610,7 +610,12 @@ test_expect_success 'rerere-gc task with --auto honors maintenance.rerere-gc.aut
|
||||
|
||||
test_expect_success '--auto and --schedule incompatible' '
|
||||
test_must_fail git maintenance run --auto --schedule=daily 2>err &&
|
||||
test_grep "at most one" err
|
||||
test_grep "cannot be used together" err
|
||||
'
|
||||
|
||||
test_expect_success '--task and --schedule incompatible' '
|
||||
test_must_fail git maintenance run --task=pack-refs --schedule=daily 2>err &&
|
||||
test_grep "cannot be used together" err
|
||||
'
|
||||
|
||||
test_expect_success 'invalid --schedule value' '
|
||||
|
||||
Reference in New Issue
Block a user