Hi, Just a brief summary - 1/3 - the main changes are in environment.[ch] and repository.[ch], all the others are just changes due to this change. 2/3 - the main changes are in pretty.[ch], all the other changes are due to this change. 3/3 - This is pretty straight-forward. One may notice that there are more "the_repository" occurences now than before this change - which is good since it means that we have now made the respective dependencies explicit (these were previously implicit). The change in 1/3 is marked RFC since I was kind of skeptical about the "repo" check in the repo_*() functions being done at _that_ level. Since every other change in this series depends on this, I've marked all the other RFC as well. Thanks Kousik Sanagavarapu (3): repository: move git_*_encoding configs to repo scope pretty: don't rely on "the_repository" builtin/mailinfo: don't rely on "the_repository" builtin/am.c | 6 +++-- builtin/blame.c | 2 +- builtin/checkout.c | 6 +++-- builtin/commit.c | 8 +++--- builtin/log.c | 7 ++--- builtin/mailinfo.c | 5 ++-- builtin/merge.c | 2 +- builtin/replay.c | 3 ++- builtin/reset.c | 2 +- builtin/rev-list.c | 4 +-- builtin/shortlog.c | 5 ++-- builtin/show-branch.c | 3 ++- builtin/stash.c | 2 +- bundle.c | 4 +-- commit.c | 9 ++++--- config.c | 10 ++++--- environment.c | 13 --------- environment.h | 6 ----- log-tree.c | 6 ++--- pretty.c | 63 ++++++++++++++++++++++++------------------- pretty.h | 14 +++++----- range-diff.c | 2 +- remote-curl.c | 4 ++- repository.c | 13 +++++++++ repository.h | 6 +++++ revision.c | 16 +++++------ sequencer.c | 28 ++++++++++--------- submodule.c | 2 +- 28 files changed, 139 insertions(+), 112 deletions(-) -- 2.47.0.73.g7a80afd5fd.dirty