Hi, this is the fourth version of my patch series which aims to implement a way to pass config entries via the environment while avoiding any requirements to perform shell quoting on the user's side. Given that the What's Cooking report notes that my third version is about to be dropped dropped because the `--config-env` way of doing things is preferred, I've now adopted that approach. I've taken the patch which Peff posted originally (with one change strchr->strrchr) and added documentation and tests to it. This patch series still includes my old proposal as it would actually be a better fit for our usecase at GitLab I have in mind, which is to put all configuration which applies to all git commands into the commands instead of using a config file for this. I have structured the series in such a way though that those patches come last -- so if you continue to think this approach shouldn't make it in, please feel free to drop patches 3-6. Patrick Patrick Steinhardt (6): git: add `--super-prefix` to usage string config: add new way to pass config via `--config-env` environment: make `getenv_safe()` non-static config: extract function to parse config pairs config: refactor parsing of GIT_CONFIG_PARAMETERS config: allow specifying config entries via envvar pairs Documentation/git-config.txt | 12 +++ Documentation/git.txt | 11 ++- cache.h | 1 + config.c | 120 +++++++++++++++++++++----- config.h | 1 + environment.c | 8 +- environment.h | 12 +++ git.c | 3 + t/t1300-config.sh | 160 ++++++++++++++++++++++++++++++++++- 9 files changed, 300 insertions(+), 28 deletions(-) create mode 100644 environment.h -- 2.29.2