From: Jonathan Tan Date: Mon, 16 Aug 2021 20:57:13 GMT Subject: Re: [PATCH v2 7/8] submodule-config: pass repo upon blob config read Message-ID: <20210816205713.2924648-1-jonathantanmy@google.com> In-Reply-To: <20210816200938.1639871-1-jonathantanmy@google.com> > > > @@ -1827,7 +1829,7 @@ static int git_config_from_blob_ref(config_fn_t fn, > > > > > > if (get_oid(name, &oid) < 0) > > > > This should be `repo_get_oid(repo, ...)` now. > > Ah, good catch! This wasn't caught by the tests because the submodule > config mechanism always passes a full-length hexadecimal string hash as > "name" - and probably would never be caught because > git_config_from_blob_ref() is only called from config_with_options(), > which is called with non-NULL source from only 2 files: > submodule-config.c (this one) and builtin/config.c (which most likely > will never operate on any repo other than the_repository). I'll refactor > the API to avoid this situation in the first place. The refactoring I was thinking of was parsing the OID in builtin/config.c and then passing only the OID (instead of a user-provided string that could contain anything), but that doesn't really work because the user-provided string is used in certain outputs. I'll just change it to repo_get_oid() in this patch.