Hi, to set up the default object and ref storage formats, users have to set up some environment variables. This is somewhat unwieldy and not really in line with how a user typically expects to configure Git, namely by using the config system. It makes it harder than necessary to globally default to the different formats and requires the user to munge with files like `.profile` to persist that setting. Needless to say, this is a bit of an awkward user experience. This patch series thus introduces two new configs to set the default object hash and ref storage format for newly created repositories. Like this, folks can simply use the global- or system-level config to adapt to their needs. This also has the advantage of giving them the ability to adapt the default formats via guarded includes, such that e.g. repos in some filesystem hierarchy use format A, whereas others use format B. This comes from a discussion with Sebastian (Cc'd) at the Git User Group in Berlin yesterday. Thanks! Patrick Patrick Steinhardt (5): t0001: exercise initialization with ref formats more thoroughly t0001: delete repositories when object format tests finish setup: merge configuration of repository formats setup: make object format configurable via config setup: make ref storage format configurable via config Documentation/config/init.txt | 10 +++ setup.c | 101 ++++++++++++++++------- t/t0001-init.sh | 145 +++++++++++++++++++++++++++++++--- 3 files changed, 216 insertions(+), 40 deletions(-) -- 2.46.0.46.g406f326d27.dirty