summaryrefslogtreecommitdiff
path: root/builtin-config.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-02-26 01:20:42 -0800
committerJunio C Hamano <junkio@cox.net>2007-02-26 01:20:42 -0800
commit048f48a2fdefdf71e7af19ec7111000ce2ebf52e (patch)
treeee91b56c9071972b1585fa65838da5748c0abfd9 /builtin-config.c
parent646b3299613f0dd947557bc965660986d024322b (diff)
parentc260d790c85c07a5f50235f664c36725deedfb10 (diff)
downloadgit-048f48a2fdefdf71e7af19ec7111000ce2ebf52e.tar.gz
Merge branch 'master' into js/diff-ni
* master: (201 commits) Documentation: link in 1.5.0.2 material to the top documentation page. Documentation: document remote.<name>.tagopt GIT 1.5.0.2 git-remote: support remotes with a dot in the name Documentation: describe "-f/-t/-m" options to "git-remote add" diff --cc: fix display of symlink conflicts during a merge. merge-recursive: fix longstanding bug in merging symlinks merge-index: fix longstanding bug in merging symlinks diff --cached: give more sensible error message when HEAD is yet to be created. Update tests to use test-chmtime Add test-chmtime: a utility to change mtime on files Add Release Notes to prepare for 1.5.0.2 Allow arbitrary number of arguments to git-pack-objects rerere: do not deal with symlinks. rerere: do not skip two conflicted paths next to each other. Don't modify CREDITS-FILE if it hasn't changed. diff-patch: Avoid emitting double-slashes in textual patch. Reword git-am 3-way fallback failure message. Limit filename for format-patch core.legacyheaders: Use the description used in RelNotes-1.5.0 ...
Diffstat (limited to 'builtin-config.c')
-rw-r--r--builtin-config.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/builtin-config.c b/builtin-config.c
index 0f9051da17..f1433a4ab6 100644
--- a/builtin-config.c
+++ b/builtin-config.c
@@ -64,7 +64,7 @@ static int get_value(const char* key_, const char* regex_)
int ret = -1;
char *tl;
char *global = NULL, *repo_config = NULL;
- const char *local;
+ const char *system_wide = NULL, *local;
local = getenv(CONFIG_ENVIRONMENT);
if (!local) {
@@ -74,6 +74,7 @@ static int get_value(const char* key_, const char* regex_)
local = repo_config = xstrdup(git_path("config"));
if (home)
global = xstrdup(mkpath("%s/.gitconfig", home));
+ system_wide = ETC_GITCONFIG;
}
key = xstrdup(key_);
@@ -103,11 +104,15 @@ static int get_value(const char* key_, const char* regex_)
}
}
+ if (do_all && system_wide)
+ git_config_from_file(show_config, system_wide);
if (do_all && global)
git_config_from_file(show_config, global);
git_config_from_file(show_config, local);
if (!do_all && !seen && global)
git_config_from_file(show_config, global);
+ if (!do_all && !seen && system_wide)
+ git_config_from_file(show_config, system_wide);
free(key);
if (regexp) {
@@ -147,7 +152,10 @@ int cmd_config(int argc, const char **argv, const char *prefix)
} else {
die("$HOME not set");
}
- } else if (!strcmp(argv[1], "--rename-section")) {
+ }
+ else if (!strcmp(argv[1], "--system"))
+ setenv("GIT_CONFIG", ETC_GITCONFIG, 1);
+ else if (!strcmp(argv[1], "--rename-section")) {
int ret;
if (argc != 4)
usage(git_config_set_usage);
@@ -159,7 +167,8 @@ int cmd_config(int argc, const char **argv, const char *prefix)
return 1;
}
return 0;
- } else
+ }
+ else
break;
argc--;
argv++;