diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-05-05 14:54:29 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-05-05 14:54:30 -0700 |
commit | 568324f31ba6cec13532e420117d312db65ddd80 (patch) | |
tree | 749064792c8d2f6e22e932c165373839cef17803 /credential.c | |
parent | Merge branch 'js/partial-urlmatch-2.17' (diff) | |
parent | Sync with js/partial-urlmatch-2.17 (diff) | |
download | tgif-568324f31ba6cec13532e420117d312db65ddd80.tar.xz |
Merge branch 'js/partial-urlmatch'
The same as js/partial-urlmatch-2.17, built on more recent codebase
to avoid unnecessary merge conflicts.
* js/partial-urlmatch:
credential: handle `credential.<partial-URL>.<key>` again
credential: optionally allow partial URLs in credential_from_url_gently()
Diffstat (limited to 'credential.c')
-rw-r--r-- | credential.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/credential.c b/credential.c index c19322d98f..d8d226b97e 100644 --- a/credential.c +++ b/credential.c @@ -86,6 +86,22 @@ static int select_all(const struct urlmatch_item *a, return 0; } +static int match_partial_url(const char *url, void *cb) +{ + struct credential *c = cb; + struct credential want = CREDENTIAL_INIT; + int matches = 0; + + if (credential_from_potentially_partial_url(&want, url) < 0) + warning(_("skipping credential lookup for key: credential.%s"), + url); + else + matches = credential_match(&want, c); + credential_clear(&want); + + return matches; +} + static void credential_apply_config(struct credential *c) { char *normalized_url; @@ -105,6 +121,7 @@ static void credential_apply_config(struct credential *c) config.collect_fn = credential_config_callback; config.cascade_fn = NULL; config.select_fn = select_all; + config.fallback_match_fn = match_partial_url; config.cb = c; credential_format(c, &url); |