Hi, this is the fifth 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. Changes in this version include: - I've adopted Jeff's patches to make GIT_CONFIG_PARAMETERS more robust by using quoting for both key and value of the config entry. This allows to store entries which for example have an equals sign in their key. - I've replaced the documentation of `git --config-env` by Ævar's, which was much better. - I've amended the documentation of GIT_CONFIG_COUNT to document the intended usecase. The series is structured as following: - Patch 1 is a while-at-it patch for the `--super-prefix` usage string which was missing in `git --help`. - Patch 2 implements `git --config-env`. - Patch 3-6 implement robust handling of GIT_CONFIG_PARAMETERS. - Patch 7-8 implement GIT_CONFIG_COUNT handling. As before, if the GIT_CONFIG_COUNT code is unwanted, please feel free to cut off after the 6th patch. Patrick Jeff King (3): quote: make sq_dequote_step() a public function config: store "git -c" variables using more robust format config: parse more robust format in GIT_CONFIG_PARAMETERS Patrick Steinhardt (5): git: add `--super-prefix` to usage string config: add new way to pass config via `--config-env` config: extract function to parse config pairs environment: make `getenv_safe()` a public function config: allow specifying config entries via envvar pairs Documentation/git-config.txt | 16 +++ Documentation/git.txt | 23 +++- cache.h | 1 + config.c | 205 ++++++++++++++++++++++++++++---- config.h | 1 + environment.c | 8 +- environment.h | 12 ++ git.c | 3 + quote.c | 15 ++- quote.h | 18 ++- t/t1300-config.sh | 220 ++++++++++++++++++++++++++++++++++- 11 files changed, 483 insertions(+), 39 deletions(-) create mode 100644 environment.h -- 2.29.2
Attachment:
signature.asc
Description: PGP signature