git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] grep: don't support "grep.color"-like config options

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 21, 2009, 05:55 UTC
Message-ID
<7vy6tua6uh.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<alpine.DEB.1.00.0904210145260.10279@pacific.mpi-cbg.de>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 10 quoted lines
> 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;
Previous: Markus HeidelbergNext: Markus Heidelberg
Message 4 of 6 in “grep: don't support "grep.color"-like config options”
  1. grep: don't support "grep.color"-like config optionsMarkus Heidelberg, Apr 20, 2009
  2. Johannes SchindelinApr 20, 2009
  3. Markus HeidelbergApr 21, 2009
  4. Junio C HamanoApr 21, 2009
  5. Markus HeidelbergApr 21, 2009
  6. René ScharfeApr 21, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.