Re: [PATCH] diffcore-pickaxe: make error messages more consistent
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 14, 2013, 17:46 UTC
- Message-ID
- <7vsj1pjvyz.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1368540973-25830-1-git-send-email-artagnon@gmail.com>
Ramkumar Ramachandra <artagnon@gmail.com> writes:
Show 33 quoted lines
> Currently, diffcore-pickaxe reports two distinct errors for the same
> user error:
>
> $ git log --pickaxe-regex -S'\1'
> fatal: invalid pickaxe regex: Invalid back reference
>
> $ git log -G'\1' # --pickaxe-regex is implied
> fatal: invalid log-grep regex: Invalid back reference
>
> Since the error has nothing to do with "log-grep", change the -G error
> message to match the -S error message.
>
> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
> ---
> Sorry I couldn't do more. diffcore-pickaxe.c isn't at all easy to
> hack on, because there are so few tests guarding it.
>
> diffcore-pickaxe.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/diffcore-pickaxe.c b/diffcore-pickaxe.c
> index 63722f8..d69a7a2 100644
> --- a/diffcore-pickaxe.c
> +++ b/diffcore-pickaxe.c
> @@ -122,7 +122,7 @@ static void diffcore_pickaxe_grep(struct diff_options *o)
> char errbuf[1024];
> regerror(err, ®ex, errbuf, 1024);
> regfree(®ex);
> - die("invalid log-grep regex: %s", errbuf);
> + die("invalid pickaxe regex: %s", errbuf);
> }
>
> pickaxe(&diff_queued_diff, o, ®ex, NULL, diff_grep);I am debating myself if it is truly easier to explain for users that "-G" is a different variant of pickaxe.
It happens to be implemented in the same source file as pickaxe, but they do logically quite different things. -G does not even have a reason to pay attention to --pickaxe-regexp (it is "grep in the log -p").
I suspect that it might avoid unnecessary confusion to explain them as totally separate operations, and not labelling this error with "pickaxe regex". I dunno.