Nguyễn Thái Ngọc Duy  <pclo...@gmail.com> writes:

> I did something stupid today and got
>
>     $ git commit -a --fixup= @^
>     fatal: Paths with -a does not make sense.
>
> which didn't make any sense (at least for the first few seconds).
>
> Include the first path(spec) in the error message to help spot the
> problem quicker. Now it shows
>
>     fatal: paths '@^ ...' with -a does not make sense
>
> which should ring some bell because @^ should clearly not be considered
> a path.

Makes sort of sense.  Would it break to blindly use argv[0] if the
user had an explicit double-dash "--" disambiguator?

>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclo...@gmail.com>
> ---
>  builtin/commit.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/builtin/commit.c b/builtin/commit.c
> index f17537474a..7f9aa032b6 100644
> --- a/builtin/commit.c
> +++ b/builtin/commit.c
> @@ -1194,7 +1194,8 @@ static int parse_and_validate_options(int argc, const 
> char *argv[],
>       handle_untracked_files_arg(s);
>  
>       if (all && argc > 0)
> -             die(_("Paths with -a does not make sense."));
> +             die(_("paths '%s ...' with -a does not make sense"),
> +                 argv[0]);
>  
>       if (status_format != STATUS_FORMAT_NONE)
>               dry_run = 1;

Reply via email to