Matthieu Moy <Matthieu.Moy@xxxxxxxxxxxxxxx> writes: > Tanay Abhra <tanayabh@xxxxxxxxx> writes: > >> I have a question about renaming git_config() to git_config_raw(). >> I was working on a patch and I am getting stuck here. >> It fails in t1001, t1020 & t4018. The reason for the last test failure >> is unknown right now. For the first two, it boils down to this, >> >> git init --bare bare-ancestor-aliased.git && >> cd bare-ancestor-aliased.git && >> echo "[alias] aliasedinit = init" >>config && >> mkdir plain-nested && >> cd plain-nested && >> git aliasedinit > > Git tries to read .git/config relative to the current directory, and > tries to resolve aliases from it. The problem is: if one tries to do > this from a subdirectory inside the repo, .git/config is not the right > path, and the alias lookup fails. > > I'll investigate more later. This fixes the first two tests (it should be squashed into your PATCH 1 regardless of the rename git_config -> git_config_raw): commit 42315d10e21a1273b73671a3f8c9f7640c4feb44 (HEAD, config-v9) Author: Matthieu Moy <Matthieu.Moy@xxxxxxx> Date: Thu Jul 17 13:12:21 2014 +0200 clear the config cache in setup_git_dir diff --git a/setup.c b/setup.c index 0a22f8b..c0d31f5 100644 --- a/setup.c +++ b/setup.c @@ -625,6 +625,15 @@ static const char *setup_git_directory_gently_1(int *nongit_ok) int one_filesystem = 1; /* + * We may have read an incomplete configuration before + * setting-up the git directory. If so, clear the cache so + * that the next queries to the configuration reload complete + * configuration (including the per-repo config file that we + * ignored previously). + */ + git_config_clear(); + + /* * Let's assume that we are in a git repository. * If it turns out later that we are somewhere else, the value will be * updated accordingly. -- Matthieu Moy http://www-verimag.imag.fr/~moy/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html