Re: [PATCH] Read configuration also from ~/.gitrc
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- May 29, 2006, 07:20 UTC
- Message-ID
- <Pine.LNX.4.63.0605290913330.8863@wbgn013.biozentrum.uni-wuerzburg.de>
- In-Reply-To
- <20060528222641.GF10488@pasky.or.cz>
Hi,
On Mon, 29 May 2006, Petr Baudis wrote:
Show 17 quoted lines
> 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