Re: [PATCH v2] add: warn when -u or -A is used without filepattern
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:55:54
Matthieu Moy [off-list ref] writes:
Most git commands that can be used with our without a filepattern are tree-wide by default, the filepattern being used to restrict their scope. A few exceptions are: 'git grep', 'git clean', 'git add -u' and 'git add -A'. The inconsistancy of 'git add -u' and 'git add -A' are particularly
s/consistan/consisten/;
quoted hunk
diff --git a/builtin/add.c b/builtin/add.c index e664100..8252d19 100644 --- a/builtin/add.c +++ b/builtin/add.c@@ -363,6 +363,33 @@ static int add_files(struct dir_struct *dir, int flags) return exit_status; } +static void warn_pathless_add(const char *option_name) { + /* + * To be consistant with "git add -p" and most Git
Likewise.
quoted hunk
+ warning(_("The behavior of 'git add %s' with no path argument from a subdirectory of the\n" ... + option_name, + option_name, + option_name); +} + int cmd_add(int argc, const char **argv, const char *prefix) { int exit_status = 0;@@ -392,8 +420,14 @@ int cmd_add(int argc, const char **argv, const char *prefix) die(_("-A and -u are mutually incompatible")); if (!show_only && ignore_missing) die(_("Option --ignore-missing can only be used together with --dry-run")); - if ((addremove || take_worktree_changes) && !argc) { + if (addremove) + option_with_implicit_dot = "--all"; + if (take_worktree_changes) + option_with_implicit_dot = "--update";
I wonder if we want to say in the message
The behaviour of 'git add --all (or -A)'...
otherwise people who typed "git add -A" and got this message with
just "--all" may go "Huh?" for a brief moment. I however do not
think replacing these strings to
option_with_implicit_dot = "--all (-A)";
is a solution, given they are goven to _("l10n template %s").
Other than that the patch looks reasonable.
Thanks.