Re: [PATCH v2] add: warn when -u or -A is used without filepattern
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 25, 2013, 19:27 UTC
- Message-ID
- <7v8v7h3vx8.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1359110978-20054-1-git-send-email-Matthieu.Moy@imag.fr>
Matthieu Moy <Matthieu.Moy@imag.fr> writes:
Show 5 quoted lines
> 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/;
Show 11 quoted lines
> 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 GitLikewise.
Show 19 quoted lines
> + 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.