Allow subcommand.color and color.subcommand color configuration
While adding colour to the branch command it was pointed out that a config option like "branch.color" conflicts with the pre-existing "branch.something" namespace used for specifying default merge urls and branches. The suggested solution was to flip the order of the components to "color.branch", which I did for colourising branch. This patch does the same thing for - git-log (color.diff) - git-status (color.status) - git-diff (color.diff) - pager (color.pager) I haven't removed the old config options; but they should probably be deprecated and eventually removed to prevent future namespace collisions. I've done this deprecation by changing the documentation for the config file to match the new names; and adding the "color.XXX" options to contrib/completion/git-completion.bash. Unfortunately git-svn reads "diff.color" and "pager.color"; which I don't like to change unilaterally. Signed-off-by: Andy Parkins <andyparkins@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
25fb629058
commit
a159ca0cb7
@ -137,16 +137,16 @@ branch.<name>.merge::
|
|||||||
this option, `git pull` defaults to merge the first refspec fetched.
|
this option, `git pull` defaults to merge the first refspec fetched.
|
||||||
Specify multiple values to get an octopus merge.
|
Specify multiple values to get an octopus merge.
|
||||||
|
|
||||||
pager.color::
|
color.pager::
|
||||||
A boolean to enable/disable colored output when the pager is in
|
A boolean to enable/disable colored output when the pager is in
|
||||||
use (default is true).
|
use (default is true).
|
||||||
|
|
||||||
diff.color::
|
color.diff::
|
||||||
When true (or `always`), always use colors in patch.
|
When true (or `always`), always use colors in patch.
|
||||||
When false (or `never`), never. When set to `auto`, use
|
When false (or `never`), never. When set to `auto`, use
|
||||||
colors only when the output is to the terminal.
|
colors only when the output is to the terminal.
|
||||||
|
|
||||||
diff.color.<slot>::
|
color.diff.<slot>::
|
||||||
Use customized color for diff colorization. `<slot>`
|
Use customized color for diff colorization. `<slot>`
|
||||||
specifies which part of the patch to use the specified
|
specifies which part of the patch to use the specified
|
||||||
color, and is one of `plain` (context text), `meta`
|
color, and is one of `plain` (context text), `meta`
|
||||||
@ -271,19 +271,19 @@ showbranch.default::
|
|||||||
The default set of branches for gitlink:git-show-branch[1].
|
The default set of branches for gitlink:git-show-branch[1].
|
||||||
See gitlink:git-show-branch[1].
|
See gitlink:git-show-branch[1].
|
||||||
|
|
||||||
status.color::
|
color.status::
|
||||||
A boolean to enable/disable color in the output of
|
A boolean to enable/disable color in the output of
|
||||||
gitlink:git-status[1]. May be set to `true` (or `always`),
|
gitlink:git-status[1]. May be set to `true` (or `always`),
|
||||||
`false` (or `never`) or `auto`, in which case colors are used
|
`false` (or `never`) or `auto`, in which case colors are used
|
||||||
only when the output is to a terminal. Defaults to false.
|
only when the output is to a terminal. Defaults to false.
|
||||||
|
|
||||||
status.color.<slot>::
|
color.status.<slot>::
|
||||||
Use customized color for status colorization. `<slot>` is
|
Use customized color for status colorization. `<slot>` is
|
||||||
one of `header` (the header text of the status message),
|
one of `header` (the header text of the status message),
|
||||||
`updated` (files which are updated but not committed),
|
`updated` (files which are updated but not committed),
|
||||||
`changed` (files which are changed but not updated in the index),
|
`changed` (files which are changed but not updated in the index),
|
||||||
or `untracked` (files which are not tracked by git). The values of
|
or `untracked` (files which are not tracked by git). The values of
|
||||||
these variables may be specified as in diff.color.<slot>.
|
these variables may be specified as in color.diff.<slot>.
|
||||||
|
|
||||||
tar.umask::
|
tar.umask::
|
||||||
By default, gitlink:git-tar-tree[1] sets file and directories modes
|
By default, gitlink:git-tar-tree[1] sets file and directories modes
|
||||||
|
@ -118,7 +118,7 @@ static int git_format_config(const char *var, const char *value)
|
|||||||
strcat(extra_headers, value);
|
strcat(extra_headers, value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (!strcmp(var, "diff.color")) {
|
if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff")) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return git_log_config(var, value);
|
return git_log_config(var, value);
|
||||||
|
2
config.c
2
config.c
@ -314,7 +314,7 @@ int git_default_config(const char *var, const char *value)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(var, "pager.color")) {
|
if (!strcmp(var, "pager.color") || !strcmp(var, "color.pager")) {
|
||||||
pager_use_color = git_config_bool(var,value);
|
pager_use_color = git_config_bool(var,value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -712,10 +712,13 @@ _git_repo_config ()
|
|||||||
core.legacyHeaders
|
core.legacyHeaders
|
||||||
i18n.commitEncoding
|
i18n.commitEncoding
|
||||||
diff.color
|
diff.color
|
||||||
|
color.diff
|
||||||
diff.renameLimit
|
diff.renameLimit
|
||||||
diff.renames
|
diff.renames
|
||||||
pager.color
|
pager.color
|
||||||
|
color.pager
|
||||||
status.color
|
status.color
|
||||||
|
color.status
|
||||||
log.showroot
|
log.showroot
|
||||||
show.difftree
|
show.difftree
|
||||||
showbranch.default
|
showbranch.default
|
||||||
|
4
diff.c
4
diff.c
@ -60,7 +60,7 @@ int git_diff_ui_config(const char *var, const char *value)
|
|||||||
diff_rename_limit_default = git_config_int(var, value);
|
diff_rename_limit_default = git_config_int(var, value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (!strcmp(var, "diff.color")) {
|
if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff")) {
|
||||||
diff_use_color_default = git_config_colorbool(var, value);
|
diff_use_color_default = git_config_colorbool(var, value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -74,7 +74,7 @@ int git_diff_ui_config(const char *var, const char *value)
|
|||||||
diff_detect_rename_default = DIFF_DETECT_RENAME;
|
diff_detect_rename_default = DIFF_DETECT_RENAME;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (!strncmp(var, "diff.color.", 11)) {
|
if (!strncmp(var, "diff.color.", 11) || !strncmp(var, "color.diff.", 11)) {
|
||||||
int slot = parse_diff_color_slot(var, 11);
|
int slot = parse_diff_color_slot(var, 11);
|
||||||
color_parse(value, var, diff_colors[slot]);
|
color_parse(value, var, diff_colors[slot]);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -297,11 +297,11 @@ void wt_status_print(struct wt_status *s)
|
|||||||
|
|
||||||
int git_status_config(const char *k, const char *v)
|
int git_status_config(const char *k, const char *v)
|
||||||
{
|
{
|
||||||
if (!strcmp(k, "status.color")) {
|
if (!strcmp(k, "status.color") || !strcmp(k, "color.status")) {
|
||||||
wt_status_use_color = git_config_colorbool(k, v);
|
wt_status_use_color = git_config_colorbool(k, v);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (!strncmp(k, "status.color.", 13)) {
|
if (!strncmp(k, "status.color.", 13) || !strncmp(k, "color.status", 13)) {
|
||||||
int slot = parse_status_slot(k, 13);
|
int slot = parse_status_slot(k, 13);
|
||||||
color_parse(v, k, wt_status_colors[slot]);
|
color_parse(v, k, wt_status_colors[slot]);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user