[PATCH v5 0/8] config: allow specifying config entries via env
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Dec 16, 2020, 07:52 UTC
- Message-ID
- <cover.1608104755.git.ps@pks.im>
- In-Reply-To
- <cover.1606214397.git.ps@pks.im>
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