aboutsummaryrefslogtreecommitdiff
path: root/git.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2010-08-23 15:16:00 -0400
committerJunio C Hamano <gitster@pobox.com>2010-08-24 09:53:46 -0700
commit2b64fc894dada0916558fd0bfd19c50631f978cb (patch)
treea3b09386105dc2f853b14a18a9112ddc7962a138 /git.c
parent64fdc08dac6694d1e754580e7acb82dfa4988bb9 (diff)
downloadgit-2b64fc894dada0916558fd0bfd19c50631f978cb.tar.gz
git-2b64fc894dada0916558fd0bfd19c50631f978cb.tar.xz
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 17538117a..e4cd01605 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 {