Thread (17 messages) flat view 17 messages, 10 authors, 2016-06-15

Re: [PATCH] Read configuration also from ~/.gitrc

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:42:27

Hi,

On Mon, 29 May 2006, Petr Baudis wrote:
quoted hunk ↗ jump to hunk
diff --git a/config.c b/config.c
index 0248c6d..8a98865 100644
--- a/config.c
+++ b/config.c
@@ -312,7 +312,11 @@ int git_config_from_file(config_fn_t fn,
 
 int git_config(config_fn_t fn)
 {
-	return git_config_from_file(fn, git_path("config"));
+	int ret = 0;
+	if (getenv("HOME"))
+		ret += git_config_from_file(fn, mkpath("%s/.gitrc", getenv("HOME")));
+	ret += git_config_from_file(fn, git_path("config"));
+	return ret;
 }
 
 /*

But would this not break for the normal case? If you override one key in 
the repository's config, with this patch, repo-config will barf. The 
normal case is that you do not expect multiple values for the same key. 
Your patch reads both ~/.gitrc and $GIT_DIR/config, and if a key has a 
value in both (even if they are identical), repo-config will error out.

Further, storing a key will no longer work. This is an obscure side 
effect of this patch not caring about storing anything in ~/.gitrc: If you 
find the key section (or the key) in ~/.gitrc, the offset will be stored, 
_and used on $GIT_DIR/config_!

I agree it is nice to have a global git configuration, but I have it: I 
use templates.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help