summaryrefslogtreecommitdiffstats
path: root/git.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2010-08-23 21:16:00 +0200
committerJunio C Hamano <gitster@pobox.com>2010-08-24 18:53:46 +0200
commit2b64fc894dada0916558fd0bfd19c50631f978cb (patch)
treea3b09386105dc2f853b14a18a9112ddc7962a138 /git.c
parentGit 1.7.2 (diff)
downloadgit-2b64fc894dada0916558fd0bfd19c50631f978cb.tar.xz
git-2b64fc894dada0916558fd0bfd19c50631f978cb.zip
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 <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git.c')
-rw-r--r--git.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/git.c b/git.c
index 17538117a5..e4cd016057 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" );
usage(git_usage_string);
}
- git_config_parse_parameter((*argv)[1]);
+ git_config_push_parameter((*argv)[1]);
(*argv)++;
(*argc)--;
} else {