diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-04-14 18:57:43 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-04-14 18:57:43 -0700 |
commit | 0759dfdd9c888cbec92240ada3193b57862b2265 (patch) | |
tree | f0011ec6a7f6714efbde4b82a6940affb867286c /builtin | |
parent | Merge branch 'pb/t7502-drop-dup' into maint (diff) | |
parent | Documentation/git-config: fix --get-all description (diff) | |
download | tgif-0759dfdd9c888cbec92240ada3193b57862b2265.tar.xz |
Merge branch 'jk/config-get-urlmatch' into maint
"git config --get-urlmatch", unlike other variants of the "git
config --get" family, did not signal error with its exit status
when there was no matching configuration.
* jk/config-get-urlmatch:
Documentation/git-config: fix --get-all description
Documentation/git-config: use bulleted list for exit codes
config: fail if --get-urlmatch finds no value
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/config.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/builtin/config.c b/builtin/config.c index ca9f834ae6..1d7c6ef558 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -417,6 +417,7 @@ static int urlmatch_collect_fn(const char *var, const char *value, void *cb) static int get_urlmatch(const char *var, const char *url) { + int ret; char *section_tail; struct string_list_item *item; struct urlmatch_config config = { STRING_LIST_INIT_DUP }; @@ -443,6 +444,8 @@ static int get_urlmatch(const char *var, const char *url) git_config_with_options(urlmatch_config_entry, &config, &given_config_source, respect_includes); + ret = !values.nr; + for_each_string_list_item(item, &values) { struct urlmatch_current_candidate_value *matched = item->util; struct strbuf buf = STRBUF_INIT; @@ -459,7 +462,7 @@ static int get_urlmatch(const char *var, const char *url) free(config.url.url); free((void *)config.section); - return 0; + return ret; } static char *default_user_config(void) |