Ramkumar Ramachandra <artag...@gmail.com> writes:

> 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 <artag...@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, &regex, errbuf, 1024);
>               regfree(&regex);
> -             die("invalid log-grep regex: %s", errbuf);
> +             die("invalid pickaxe regex: %s", errbuf);
>       }
>       pickaxe(&diff_queued_diff, o, &regex, 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

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.

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to