It turns out I don't need my other series [1] in order to delete this field. This series moves getenv() calls from repo_set_gitdir()/repo_setup_env() and prepare_alt_odb() back in environment.c where they belong in my opinion. The repo_set_gitdir() now takes $GIT_DIR and optionally all other configurable paths. If those paths are NULL, default repo layout will be used. With getenv() no longer called inside repo_set_gitdir(), ignore_env has no reason to stay. This is in 1/4. The getenv() in prepare_alt_odb() is also moved back to setup_git_env() in 3/4. It demonstrates how we could move other getenv() back to if we want. This series is built on top of Stefan's object-store-part1, v4. I could rebase it on 'master' too, but then Junio may need to resolve some conflicts. [1] https://public-inbox.org/git/20180225111840.16421-1-pclouds@xxxxxxxxx/ Nguyễn Thái Ngọc Duy (4): repository.c: move env-related setup code back to environment.c repository.c: delete dead functions sha1_file.c: move delayed getenv(altdb) back to setup_git_env() repository: delete ignore_env member cache.h | 2 +- environment.c | 13 +++++++-- object-store.h | 5 +++- object.c | 1 + repository.c | 79 ++++++++++++++++++++++---------------------------- repository.h | 21 +++++++------- setup.c | 3 +- sha1_file.c | 6 +--- 8 files changed, 64 insertions(+), 66 deletions(-) -- 2.16.1.435.g8f24da2e1a