summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-04-15 01:57:43 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-04-15 01:57:43 (GMT)
commit0759dfdd9c888cbec92240ada3193b57862b2265 (patch)
treef0011ec6a7f6714efbde4b82a6940affb867286c /builtin
parentf1cfacff51f4c72110fd30f39c4c04b15e84eac7 (diff)
parent24990b2febec5e00ecc8c7c57614b7431b86f7a5 (diff)
downloadgit-0759dfdd9c888cbec92240ada3193b57862b2265.zip
git-0759dfdd9c888cbec92240ada3193b57862b2265.tar.gz
git-0759dfdd9c888cbec92240ada3193b57862b2265.tar.bz2
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.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/builtin/config.c b/builtin/config.c
index ca9f834..1d7c6ef 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)