path: root/git.c
diff options
authorJeff King <>2010-08-23 19:16:00 (GMT)
committerJunio C Hamano <>2010-08-24 16:53:46 (GMT)
commit2b64fc894dada0916558fd0bfd19c50631f978cb (patch)
treea3b09386105dc2f853b14a18a9112ddc7962a138 /git.c
parent64fdc08dac6694d1e754580e7acb82dfa4988bb9 (diff)
pass "git -c foo=bar" params through environment
Git uses the "-c foo=bar" parameters to set a config variable for a single git invocation. We currently do this by making a list in the current process and consulting that list in git_config. This works fine for built-ins, but the config changes are silently ignored by subprocesses, including dashed externals and invocations to "git config" from shell scripts. This patch instead puts them in an environment variable which we consult when looking at config (both internally and via calls "git config"). Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'git.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/git.c b/git.c
index 1753811..e4cd016 100644
--- a/git.c
+++ b/git.c
@@ -136,7 +136,7 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
fprintf(stderr, "-c expects a configuration string\n" );
- git_config_parse_parameter((*argv)[1]);
+ git_config_push_parameter((*argv)[1]);
} else {