projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'js/config' into pu
[git.git]
/
repo-config.c
diff --git
a/repo-config.c
b/repo-config.c
index
08fc4cc
..
8c0bb20
100644
(file)
--- a/
repo-config.c
+++ b/
repo-config.c
@@
-65,6
+65,8
@@
static int show_config(const char* key_, const char* value_)
static int get_value(const char* key_, const char* regex_)
{
char *tl;
static int get_value(const char* key_, const char* regex_)
{
char *tl;
+ const char *home = getenv("HOME");
+ const char *global = (home ? mkpath("%s/.gitconfig", home) : NULL);
key = strdup(key_);
for (tl=key+strlen(key)-1; tl >= key && *tl != '.'; --tl)
key = strdup(key_);
for (tl=key+strlen(key)-1; tl >= key && *tl != '.'; --tl)
@@
-93,7
+95,13
@@
static int get_value(const char* key_, const char* regex_)
}
}
}
}
- git_config(show_config);
+ if (do_all && global)
+ git_config_from_file(show_config, global);
+ if (!git_ignore_local_config)
+ git_config_from_file(show_config, git_path("config"));
+ if (!do_all && !seen)
+ git_config_from_file(show_config, global);
+
free(key);
if (regexp) {
regfree(regexp);
free(key);
if (regexp) {
regfree(regexp);
@@
-118,6
+126,8
@@
int main(int argc, const char **argv)
type = T_BOOL;
else if (!strcmp(argv[1], "--list") || !strcmp(argv[1], "-l"))
return git_config(show_all_config);
type = T_BOOL;
else if (!strcmp(argv[1], "--list") || !strcmp(argv[1], "-l"))
return git_config(show_all_config);
+ else if (!strcmp(argv[1], "--no-local"))
+ git_ignore_local_config = 1;
else
break;
argc--;
else
break;
argc--;