From: Junio C Hamano <gitster@pobox.com>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: git@vger.kernel.org, Jeff King <peff@peff.net>
Subject: Re: [PATCH 1/2] color: downgrade "always" to "auto" only for on-disk configuration
Date: Thu, 12 Oct 2017 15:58:18 +0900 [thread overview]
Message-ID: <xmqqwp40zwc5.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <xmqq1sm828pi.fsf@gitster.mtv.corp.google.com> (Junio C. Hamano's message of "Thu, 12 Oct 2017 15:15:05 +0900")
Junio C Hamano <gitster@pobox.com> writes:
> We need to be able to answer "why does '-c color.ui=always' work
> only from the command line?", but I doubt we want to actively
> encourage the use of it, though, so I dunno.
For today's pushout, I've queued this as [PATCH 3/2]
Thanks..
-- >8 --
From: Jonathan Nieder <jrnieder@gmail.com>
Subject: color: document that "git -c color.*=always" is a bit special
Date: Wed, 11 Oct 2017 21:47:24 -0700
When used from the command line as an option to "git" potty,
'always' does not get demoted to 'auto', to help third-party scripts
that (ab)used it to override the settings the end-user has.
Document it.
While at it, clarify description for per-command configuration
variables (color.branch, color.grep, color.interactive,
color.showBranch and color.status) so that they can more easily
share the new text to talk about this special-casing.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
Documentation/config.txt | 68 ++++++++++++++++++++++++++++++++----------------
1 file changed, 45 insertions(+), 23 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index ba01b8d3df..f79e82b79a 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1051,11 +1051,15 @@ clean.requireForce::
-i or -n. Defaults to true.
color.branch::
- A boolean to enable/disable color in the output of
- linkgit:git-branch[1]. May be set to `false` (or `never`) to
- disable color entirely, `auto` (or `true` or `always`) in which
- case colors are used only when the output is to a terminal. If
- unset, then the value of `color.ui` is used (`auto` by default).
+ When to use color in the output of linkgit:git-branch[1].
+ May be set to `never` (or `false`) to disable color entirely,
+ or `auto` (or `true`) in which case colors are used only when
+ the output is to a terminal. If unset, then the value of
+ `color.ui` is used (`auto` by default).
++
+The value `always` is a historical synonym for `auto`, except when
+passed on the command line using `-c`, where it is a historical synonym
+for `--color=always`.
color.branch.<slot>::
Use customized color for branch coloration. `<slot>` is one of
@@ -1068,10 +1072,13 @@ color.diff::
Whether to use ANSI escape sequences to add color to patches.
If this is set to `true` or `auto`, linkgit:git-diff[1],
linkgit:git-log[1], and linkgit:git-show[1] will use color
- when output is to the terminal. The value `always` is a
- historical synonym for `auto`. If unset, then the value of
+ when output is to the terminal. If unset, then the value of
`color.ui` is used (`auto` by default).
+
+The value `always` is a historical synonym for `auto`, except when
+passed on the command line using `-c`, where it is a historical
+synonym for `--color=always`.
++
This does not affect linkgit:git-format-patch[1] or the
'git-diff-{asterisk}' plumbing commands. Can be overridden on the
command line with the `--color[=<when>]` option.
@@ -1091,10 +1098,14 @@ color.decorate.<slot>::
branches, remote-tracking branches, tags, stash and HEAD, respectively.
color.grep::
- When set to `always`, always highlight matches. When `false` (or
+ When to highlight matches using color. When `false` (or
`never`), never. When set to `true` or `auto`, use color only
when the output is written to the terminal. If unset, then the
value of `color.ui` is used (`auto` by default).
++
+The value `always` is a historical synonym for `auto`, except when
+passed on the command line using `-c`, where it is a historical synonym
+for `--color=always`.
color.grep.<slot>::
Use customized color for grep colorization. `<slot>` specifies which
@@ -1126,9 +1137,11 @@ color.interactive::
When set to `true` or `auto`, use colors for interactive prompts
and displays (such as those used by "git-add --interactive" and
"git-clean --interactive") when the output is to the terminal.
- When false (or `never`), never show colors. The value `always`
- is a historical synonym for `auto`. If unset, then the value of
- `color.ui` is used (`auto` by default).
+ When false (or `never`), never show colors.
++
+The value `always` is a historical synonym for `auto`, except when
+passed on the command line using `-c`, where it means to use color
+regardless of whether output is to the terminal.
color.interactive.<slot>::
Use customized color for 'git add --interactive' and 'git clean
@@ -1141,18 +1154,24 @@ color.pager::
use (default is true).
color.showBranch::
- A boolean to enable/disable color in the output of
- linkgit:git-show-branch[1]. May be set to `always`,
- `false` (or `never`) or `auto` (or `true`), in which case colors are used
- only when the output is to a terminal. If unset, then the
- value of `color.ui` is used (`auto` by default).
+ When to use color in the output of linkgit:git-show-branch[1].
+ May be set to `never` (or `false`) to disable color or `auto`
+ (or `true`) to use colors only when the output is to a terminal.
+ If unset, the value of `color.ui` is used (`auto` by default).
++
+The value `always` is a historical synonym for `auto`, except when
+passed on the command line using `-c`, where it is a historical synonym
+for `--color=always`.
color.status::
- A boolean to enable/disable color in the output of
- linkgit:git-status[1]. May be set to `always`,
- `false` (or `never`) or `auto` (or `true`), in which case colors are used
- only when the output is to a terminal. If unset, then the
- value of `color.ui` is used (`auto` by default).
+ When to use color in the output of linkgit:git-status[1].
+ May be set to `never` (or `false`) to disable color or `auto`
+ (or `true`) to use colors only when the output is to the terminal.
+ If unset, then the value of `color.ui` is used (`auto` by default).
++
+The value `always` is a historical synonym for `auto`, except when
+passed on the command line using `-c`, where it means to use color
+regardless of whether output is to the terminal.
color.status.<slot>::
Use customized color for status colorization. `<slot>` is
@@ -1177,8 +1196,11 @@ color.ui::
color unless enabled explicitly with some other configuration
or the `--color` option. Set it to `true` or `auto` to enable
color when output is written to the terminal (this is also the
- default since Git 1.8.4). The value `always` is a historical
- synonym for `auto` and its use is discouraged.
+ default since Git 1.8.4).
++
+The value `always` is a historical synonym for `auto` (and its use is
+discouraged), except when passed on the command line using `-c`, where
+it means to use color regardless of whether output is to the terminal.
column.ui::
Specify whether supported commands should output in columns.
--
2.15.0-rc1-154-g0b692121ee
next prev parent reply other threads:[~2017-10-12 6:58 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-09 23:58 What happened to "git status --color=(always|auto|never)"? Nazri Ramliy
2017-10-10 0:16 ` Jonathan Nieder
2017-10-10 0:43 ` Nazri Ramliy
2017-10-10 0:59 ` Jonathan Nieder
2017-10-10 4:42 ` Nazri Ramliy
2017-10-10 10:25 ` Jeff King
2017-10-10 12:51 ` Junio C Hamano
2017-10-10 13:06 ` Jeff King
2017-10-10 19:03 ` Jonathan Nieder
2017-10-10 19:37 ` Jeff King
2017-10-11 2:05 ` Junio C Hamano
2017-10-12 2:10 ` [PATCH 0/2] Piling more kludge on top of color.ui Junio C Hamano
2017-10-12 2:10 ` [PATCH 1/2] color: downgrade "always" to "auto" only for on-disk configuration Junio C Hamano
2017-10-12 4:47 ` Jonathan Nieder
2017-10-12 5:05 ` Junio C Hamano
2017-10-12 5:40 ` Jonathan Nieder
2017-10-12 6:15 ` Junio C Hamano
2017-10-12 6:58 ` Junio C Hamano [this message]
2017-10-12 13:06 ` Jeff King
2017-10-12 15:12 ` Jeff King
2017-10-12 12:31 ` Jeff King
2017-10-13 0:09 ` Junio C Hamano
2017-10-13 1:47 ` Jeff King
2017-10-13 3:37 ` Junio C Hamano
2017-10-13 13:06 ` Jeff King
2017-10-13 17:20 ` [PATCH 0/4] peeling back color.ui=always hacks Jeff King
2017-10-13 17:23 ` [PATCH 1/4] Revert "color: make "always" the same as "auto" in config" Jeff King
2017-10-13 17:23 ` [PATCH 2/4] Revert "t6006: drop "always" color config tests" Jeff King
2017-10-13 17:24 ` [PATCH 3/4] Revert "color: check color.ui in git_default_config()" Jeff King
2017-10-13 17:26 ` [PATCH 4/4] tag: respect color.ui config Jeff King
2017-10-14 3:01 ` [PATCH 1/2] color: downgrade "always" to "auto" only for on-disk configuration Junio C Hamano
2017-10-16 21:53 ` Jeff King
2017-10-17 1:06 ` Junio C Hamano
2017-10-17 6:26 ` Junio C Hamano
2017-10-18 5:28 ` Jeff King
2017-10-18 5:57 ` Junio C Hamano
2017-10-17 6:51 ` Jonathan Nieder
2017-10-18 5:34 ` Jeff King
2017-10-12 2:10 ` [PATCH 2/2] color: discourage use of ui.color=always Junio C Hamano
2017-10-12 4:48 ` Jonathan Nieder
2017-10-12 15:08 ` Jeff King
2017-10-13 0:02 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqwp40zwc5.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=jrnieder@gmail.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).