From 619c989915b568e4737951fafcbae14cd06d6ea6 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 14 Jan 2015 12:46:51 +0100 Subject: GitConfigParser now respects and merges 'include' sections We implement it as described in this article: http://stackoverflow.com/questions/1557183/is-it-possible-to-include-a-file-in-your-gitconfig Thus we handle * cycles * relative and absolute include paths * write-backs in case of writable GitConfigParser instances Fixes #201 --- git/repo/base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'git/repo') diff --git a/git/repo/base.py b/git/repo/base.py index f5ed2479..155a674f 100644 --- a/git/repo/base.py +++ b/git/repo/base.py @@ -359,11 +359,11 @@ class Repo(object): return "/etc/gitconfig" elif config_level == "user": config_home = os.environ.get("XDG_CONFIG_HOME") or os.path.join(os.environ.get("HOME", '~'), ".config") - return os.path.expanduser(join(config_home, "git", "config")) + return os.path.normpath(os.path.expanduser(join(config_home, "git", "config"))) elif config_level == "global": return os.path.normpath(os.path.expanduser("~/.gitconfig")) elif config_level == "repository": - return join(self.git_dir, "config") + return os.path.normpath(join(self.git_dir, "config")) raise ValueError("Invalid configuration level: %r" % config_level) -- cgit v1.2.3