Skip to content
Browse files
Merge pull request #1165 from asheiduk/config-docu
Align documentation for C:\ProgramData\Git\config
  • Loading branch information
dscho committed May 18, 2017
2 parents eba7af3 + 58daf7e commit 52a7159fc0375c6020d928b58919fe1bc6fb0736
Showing with 9 additions and 14 deletions.
  1. +8 −8 Documentation/git-config.txt
  2. +1 −6 compat/mingw.c
@@ -235,8 +235,16 @@ FILES
If not set explicitly with `--file`, there are four files where
'git config' will search for configuration options:

(Windows-only) System-wide configuration file shared with other Git
implementations. Typically `$PROGRAMDATA` points to `C:\ProgramData`.

System-wide configuration file.
(Windows-only) This file contains only the settings which are
specific for this installation of Git for Windows and which should
not be shared with other Git implementations like JGit, libgit2.
`--system` will select this file.

Second user-specific configuration file. If $XDG_CONFIG_HOME is not set
@@ -253,14 +261,6 @@ $XDG_CONFIG_HOME/git/config::
Repository specific configuration file.

On Windows, as there is no central `/etc/` directory, there is yet another
config file (located at `$PROGRAMDATA/Git/config`), intended to contain
settings for *all* Git-related software running on the machine. Consequently,
this config file takes an even lower precedence than the
`$(prefix)/etc/gitconfig` file. Typically `$PROGRAMDATA` points to
`C:\ProgramData` (on Windows XP the equivalent in `$ALLUSERSPROFILE` is used,
i.e. `C:\Documents and Settings\All Users\Application Data\Git\config`).

If no further options are given, all reading options will read all of these
files that are available. If the global or the system-wide configuration
file are not available they will be ignored. If the repository configuration
@@ -3304,13 +3304,8 @@ const char *program_data_config(void)

if (!initialized) {
const char *env = mingw_getenv("PROGRAMDATA");
const char *extra = "";
if (!env) {
env = mingw_getenv("ALLUSERSPROFILE");
extra = "/Application Data";
if (env)
strbuf_addf(&path, "%s%s/Git/config", env, extra);
strbuf_addf(&path, "%s/Git/config", env);
initialized = 1;
return *path.buf ? path.buf : NULL;

0 comments on commit 52a7159

Please sign in to comment.