git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] grep: don't support "grep.color"-like config options
@ 2009-04-20 22:58 Markus Heidelberg
  2009-04-20 23:45 ` Johannes Schindelin
  0 siblings, 1 reply; 6+ messages in thread
From: Markus Heidelberg @ 2009-04-20 22:58 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Markus Heidelberg

color.grep and color.grep.* is the official and documented way to
highlight grep matches. Comparable options like diff.color.* and
status.color.* exist for backward compatibility reasons only and are not
documented any more.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
---
 builtin-grep.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/builtin-grep.c b/builtin-grep.c
index 89489dd..f88a912 100644
--- a/builtin-grep.c
+++ b/builtin-grep.c
@@ -26,16 +26,13 @@ static int grep_config(const char *var, const char *value, void *cb)
 {
 	struct grep_opt *opt = cb;
 
-	if (!strcmp(var, "grep.color") || !strcmp(var, "color.grep")) {
+	if (!strcmp(var, "color.grep")) {
 		opt->color = git_config_colorbool(var, value, -1);
 		return 0;
 	}
-	if (!strcmp(var, "grep.color.external") ||
-	    !strcmp(var, "color.grep.external")) {
+	if (!strcmp(var, "color.grep.external"))
 		return git_config_string(&(opt->color_external), var, value);
-	}
-	if (!strcmp(var, "grep.color.match") ||
-	    !strcmp(var, "color.grep.match")) {
+	if (!strcmp(var, "color.grep.match")) {
 		if (!value)
 			return config_error_nonbool(var);
 		color_parse(value, var, opt->color_match);
-- 
1.6.3.rc1.44.g269729

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] grep: don't support "grep.color"-like config options
  2009-04-20 22:58 [PATCH] grep: don't support "grep.color"-like config options Markus Heidelberg
@ 2009-04-20 23:45 ` Johannes Schindelin
  2009-04-21  0:11   ` Markus Heidelberg
  2009-04-21  5:55   ` Junio C Hamano
  0 siblings, 2 replies; 6+ messages in thread
From: Johannes Schindelin @ 2009-04-20 23:45 UTC (permalink / raw)
  To: Markus Heidelberg; +Cc: Junio C Hamano, git

Hi,

On Tue, 21 Apr 2009, Markus Heidelberg wrote:

> color.grep and color.grep.* is the official and documented way to 
> highlight grep matches. Comparable options like diff.color.* and 
> status.color.* exist for backward compatibility reasons only and are not 
> documented any more.

But is it really so bad that we have to possibly break existing setups?

The cost of keeping them is really small IMHO.

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] grep: don't support "grep.color"-like config options
  2009-04-20 23:45 ` Johannes Schindelin
@ 2009-04-21  0:11   ` Markus Heidelberg
  2009-04-21  5:55   ` Junio C Hamano
  1 sibling, 0 replies; 6+ messages in thread
From: Markus Heidelberg @ 2009-04-21  0:11 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Junio C Hamano, git

Johannes Schindelin, 21.04.2009:
> Hi,
> 
> On Tue, 21 Apr 2009, Markus Heidelberg wrote:
> 
> > color.grep and color.grep.* is the official and documented way to 
> > highlight grep matches. Comparable options like diff.color.* and 
> > status.color.* exist for backward compatibility reasons only and are not 
> > documented any more.
> 
> But is it really so bad that we have to possibly break existing setups?

Given that they have never been documented since introduction of "grep
--color" in March, wouldn't it be pure luck from a users' POV, that they
even worked, after the user accidentally typed grep.color instead of
color.grep with git-config?
Should we then also introduce branch.color afterwards?

Also, colorized grep isn't yet released, people currently using
grep.color (and I guess they are very few, if any) normally are
compiling git on their own and shouldn't have problems with it
disappearing.

> The cost of keeping them is really small IMHO.

Maybe, but it's always nice to keep things simpler and cleaner.

Markus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] grep: don't support "grep.color"-like config options
  2009-04-20 23:45 ` Johannes Schindelin
  2009-04-21  0:11   ` Markus Heidelberg
@ 2009-04-21  5:55   ` Junio C Hamano
  2009-04-21  7:57     ` Markus Heidelberg
  2009-04-21 15:45     ` René Scharfe
  1 sibling, 2 replies; 6+ messages in thread
From: Junio C Hamano @ 2009-04-21  5:55 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Markus Heidelberg, git

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> On Tue, 21 Apr 2009, Markus Heidelberg wrote:
>
>> color.grep and color.grep.* is the official and documented way to 
>> highlight grep matches. Comparable options like diff.color.* and 
>> status.color.* exist for backward compatibility reasons only and are not 
>> documented any more.
>
> But is it really so bad that we have to possibly break existing setups?
>
> The cost of keeping them is really small IMHO.

While I do not think these lines themselves will cost us a lot of
maintenance effort, people tend to mimick existing code, and these
patterns can proliferate if unchecked, and *that* would add to
maintenance.  As the feature has aleady been in master for 6 weeks or so,
Markus's patch is now-or-never, and I'd rather say we take it before the
1.6.3 final.

An alternative would be to:

 (1) Keep them undocumented;

 (2) add code comments about their deprecated status to discourage people
     from copying the style; and

 (3) possibly deprecate it in some future.

but I do not know if the last step is worth it.

In any case, I think perhaps we should squash this in.

 diff.c      |    5 +++++
 wt-status.c |    5 +++++
 2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/diff.c b/diff.c
index 3ac7168..f2432de 100644
--- a/diff.c
+++ b/diff.c
@@ -79,6 +79,11 @@ static int git_config_rename(const char *var, const char *value)
  */
 int git_diff_ui_config(const char *var, const char *value, void *cb)
 {
+	/*
+	 * Note: cmdname.color style of configuration variables are
+	 * deprecated; do not copy this pattern but accept only
+	 * color.cmdname in new code.
+	 */
 	if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff")) {
 		diff_use_color_default = git_config_colorbool(var, value, -1);
 		return 0;
diff --git a/wt-status.c b/wt-status.c
index 929b00f..9726e0b 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -381,6 +381,11 @@ int git_status_config(const char *k, const char *v, void *cb)
 			wt_status_submodule_summary = -1;
 		return 0;
 	}
+	/*
+	 * Note: cmdname.color style of configuration variables are
+	 * deprecated; do not copy this pattern but accept only
+	 * color.cmdname in new code.
+	 */
 	if (!strcmp(k, "status.color") || !strcmp(k, "color.status")) {
 		wt_status_use_color = git_config_colorbool(k, v, -1);
 		return 0;

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] grep: don't support "grep.color"-like config options
  2009-04-21  5:55   ` Junio C Hamano
@ 2009-04-21  7:57     ` Markus Heidelberg
  2009-04-21 15:45     ` René Scharfe
  1 sibling, 0 replies; 6+ messages in thread
From: Markus Heidelberg @ 2009-04-21  7:57 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Johannes Schindelin, git

Junio C Hamano, 21.04.2009:
>  (2) add code comments about their deprecated status to discourage people
>      from copying the style; and

Good idea.

> In any case, I think perhaps we should squash this in.
> 
>  diff.c      |    5 +++++
>  wt-status.c |    5 +++++
>  2 files changed, 10 insertions(+), 0 deletions(-)

There is still pager.color in config.c

Markus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] grep: don't support "grep.color"-like config options
  2009-04-21  5:55   ` Junio C Hamano
  2009-04-21  7:57     ` Markus Heidelberg
@ 2009-04-21 15:45     ` René Scharfe
  1 sibling, 0 replies; 6+ messages in thread
From: René Scharfe @ 2009-04-21 15:45 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Johannes Schindelin, Markus Heidelberg, git

Junio C Hamano schrieb:
> While I do not think these lines themselves will cost us a lot of
> maintenance effort, people tend to mimick existing code, and these
> patterns can proliferate if unchecked, and *that* would add to
> maintenance.

I have to admit that I blindly copied these option names from diff to grep..

> As the feature has aleady been in master for 6 weeks or so,
> Markus's patch is now-or-never, and I'd rather say we take it before the
> 1.6.3 final.

Agreed.

René

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-04-21 15:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-20 22:58 [PATCH] grep: don't support "grep.color"-like config options Markus Heidelberg
2009-04-20 23:45 ` Johannes Schindelin
2009-04-21  0:11   ` Markus Heidelberg
2009-04-21  5:55   ` Junio C Hamano
2009-04-21  7:57     ` Markus Heidelberg
2009-04-21 15:45     ` René Scharfe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).