From 8b1fa778676ae94f7a6d4113fa90947b548154dd Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Fri, 26 Mar 2010 23:53:57 +0100 Subject: Allow passing of configuration parameters in the command line The values passed this way will override whatever is defined in the config files. Signed-off-by: Alex Riesen Signed-off-by: Junio C Hamano --- git.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'git.c') diff --git a/git.c b/git.c index 6bae30545b..99f036302a 100644 --- a/git.c +++ b/git.c @@ -8,6 +8,7 @@ const char git_usage_string[] = "git [--version] [--exec-path[=GIT_EXEC_PATH]] [--html-path]\n" " [-p|--paginate|--no-pager] [--no-replace-objects]\n" " [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE]\n" + " [-c name=value\n" " [--help] COMMAND [ARGS]"; const char git_more_info_string[] = @@ -130,6 +131,14 @@ static int handle_options(const char ***argv, int *argc, int *envchanged) setenv(GIT_DIR_ENVIRONMENT, getcwd(git_dir, sizeof(git_dir)), 0); if (envchanged) *envchanged = 1; + } else if (!strcmp(cmd, "-c")) { + if (*argc < 2) { + fprintf(stderr, "-c expects a configuration string\n" ); + usage(git_usage_string); + } + git_config_parse_parameter((*argv)[1]); + (*argv)++; + (*argc)--; } else { fprintf(stderr, "Unknown option: %s\n", cmd); usage(git_usage_string); -- cgit v1.2.3