diff options
-rw-r--r-- | git_config.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/git_config.py b/git_config.py index 68016fff..14c4c11a 100644 --- a/git_config.py +++ b/git_config.py | |||
@@ -90,6 +90,20 @@ class GitConfig: | |||
90 | 90 | ||
91 | @staticmethod | 91 | @staticmethod |
92 | def _getUserConfig(): | 92 | def _getUserConfig(): |
93 | """Get the user-specific config file. | ||
94 | |||
95 | Prefers the XDG config location if available, with fallback to | ||
96 | ~/.gitconfig | ||
97 | |||
98 | This matches git behavior: | ||
99 | https://git-scm.com/docs/git-config#FILES | ||
100 | """ | ||
101 | xdg_config_home = os.getenv( | ||
102 | "XDG_CONFIG_HOME", os.path.expanduser("~/.config") | ||
103 | ) | ||
104 | xdg_config_file = os.path.join(xdg_config_home, "git", "config") | ||
105 | if os.path.exists(xdg_config_file): | ||
106 | return xdg_config_file | ||
93 | return os.path.expanduser("~/.gitconfig") | 107 | return os.path.expanduser("~/.gitconfig") |
94 | 108 | ||
95 | @classmethod | 109 | @classmethod |