Merge branch 'ow/no-dryrun-in-add-i'

"git add -i --dry-run" does not dry-run, which was surprising.  The
combination of options has taught to error out.

* ow/no-dryrun-in-add-i:
  add: die if both --dry-run and --interactive are given
This commit is contained in:
Junio C Hamano 2021-05-14 08:26:09 +09:00
commit 47fa106617
2 changed files with 6 additions and 0 deletions

View file

@ -484,6 +484,8 @@ int cmd_add(int argc, const char **argv, const char *prefix)
if (patch_interactive)
add_interactive = 1;
if (add_interactive) {
if (show_only)
die(_("--dry-run is incompatible with --interactive/--patch"));
if (pathspec_from_file)
die(_("--pathspec-from-file is incompatible with --interactive/--patch"));
exit(interactive_add(argv + 1, prefix, patch_interactive));

View file

@ -349,6 +349,10 @@ test_expect_success 'git add --dry-run --ignore-missing of non-existing file out
test_cmp expect.err actual.err
'
test_expect_success 'git add --dry-run --interactive should fail' '
test_must_fail git add --dry-run --interactive
'
test_expect_success 'git add empty string should fail' '
test_must_fail git add ""
'