[PATCH] diffcore-pickaxe: make error messages more consistent

2013-05-14 Thread Ramkumar Ramachandra
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);
-- 
1.8.3.rc1.61.g2cacfff

--
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


Re: [PATCH] diffcore-pickaxe: make error messages more consistent

2013-05-14 Thread Junio C Hamano
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
-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.

--
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


Re: [PATCH] diffcore-pickaxe: make error messages more consistent

2013-05-14 Thread Ramkumar Ramachandra
Junio C Hamano wrote:
 I am debating myself if it is truly easier to explain for users that
 -G is a different variant of pickaxe.

Hm, I think it is the correct approach because readers of diffcore are
probably going to look at the source: it's not exactly an end-user
manpage.  I've not explained it as G king versus S kind in the
diff-options documentation.

Or are you just talking about the error message?  That's simple:
--pickaxe-regex is what triggers this off, and we've made it clear
that it applies to both commands (-G implicitly; see doc).
--
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