log/show/whatchanged: introduce format.pretty configuration
[gitweb.git] / Documentation / git-config.txt
index 8451cccf8a34d73a3b6b74be53af8ad110fc9f09..fa161718dd33a0b4c3b58fb3898e74369bcc3d94 100644 (file)
@@ -20,6 +20,8 @@ SYNOPSIS
 'git-config' [<file-option>] --rename-section old_name new_name
 'git-config' [<file-option>] --remove-section name
 'git-config' [<file-option>] [-z|--null] -l | --list
+'git-config' [<file-option>] --get-color name [default]
+'git-config' [<file-option>] --get-colorbool name [stdout-is-tty]
 
 DESCRIPTION
 -----------
@@ -128,21 +130,36 @@ See also <<FILES>>.
 
 -z, --null::
        For all options that output values and/or keys, always
-       end values with with the null character (instead of a
+       end values with the null character (instead of a
        newline). Use newline instead as a delimiter between
        key and value. This allows for secure parsing of the
        output without getting confused e.g. by values that
        contain line breaks.
 
+--get-colorbool name [stdout-is-tty]::
+
+       Find the color setting for `name` (e.g. `color.diff`) and output
+       "true" or "false".  `stdout-is-tty` should be either "true" or
+       "false", and is taken into account when configuration says
+       "auto".  If `stdout-is-tty` is missing, then checks the standard
+       output of the command itself, and exits with status 0 if color
+       is to be used, or exits with status 1 otherwise.
+
+--get-color name default::
+
+       Find the color configured for `name` (e.g. `color.diff.new`) and
+       output it as the ANSI color escape sequence to the standard
+       output.  The optional `default` parameter is used instead, if
+       there is no color configured for `name`.
 
 [[FILES]]
 FILES
 -----
 
-If not set explicitely with '--file', there are three files where
+If not set explicitly with '--file', there are three files where
 git-config will search for configuration options:
 
-.git/config::
+$GIT_DIR/config::
        Repository specific configuration file. (The filename is
        of course relative to the repository root, not the working
        directory.)
@@ -214,9 +231,7 @@ Given a .git/config like this:
 
        ; Proxy settings
        [core]
-               gitproxy="ssh" for "ssh://kernel.org/"
                gitproxy="proxy-command" for kernel.org
-               gitproxy="myprotocol-command" for "my://"
                gitproxy=default-proxy ; for all the rest
 
 you can set the filemode to true with
@@ -291,9 +306,18 @@ To actually match only values with an exclamation mark, you have to
 To add a new proxy, without altering any of the existing ones, use
 
 ------------
-% git config core.gitproxy '"proxy" for example.com'
+% git config core.gitproxy '"proxy-command" for example.com'
 ------------
 
+An example to use customized color from the configuration in your
+script:
+
+------------
+#!/bin/sh
+WS=$(git config --get-color color.diff.whitespace "blue reverse")
+RESET=$(git config --get-color "" "reset")
+echo "${WS}your whitespace color or blue reverse${RESET}"
+------------
 
 include::config.txt[]
 
@@ -308,4 +332,4 @@ Documentation by Johannes Schindelin, Petr Baudis and the git-list <git@vger.ker
 
 GIT
 ---
-Part of the gitlink:git[7] suite
+Part of the linkgit:git[7] suite