During the review of the `early-config` patch series, two issues have been identified that have been with us forever. The idea of that patch series was to fix the hard-coded (and sometimes wrong) .git/config path when looking for the pager configurations. To that end, the patches refactor the helper functions behind the functionality of setup_git_directory(), to make it reusable without changing any global state. Not to change said functionality. So let's just mark the identified problems for later so that we do not forget them. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- setup.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.c b/setup.c index f31abf8a990..64f922a9378 100644 --- a/setup.c +++ b/setup.c @@ -531,6 +531,7 @@ const char *read_gitfile_gently(const char *path, int *return_error_code) ssize_t len; if (stat(path, &st)) { + /* NEEDSWORK: discern between ENOENT vs other errors */ error_code = READ_GITFILE_ERR_STAT_FAILED; goto cleanup_return; } @@ -902,6 +903,7 @@ static enum discovery_result setup_git_directory_gently_1(struct strbuf *dir, if (!gitdirenv) { if (die_on_error || error_code == READ_GITFILE_ERR_NOT_A_FILE) { + /* NEEDSWORK: fail if .git is not file nor dir */ if (is_git_directory(dir->buf)) gitdirenv = DEFAULT_GIT_DIR_ENVIRONMENT; } else if (error_code != READ_GITFILE_ERR_STAT_FAILED) -- 2.12.0.windows.1.7.g94dafc3b124