diff options
author | Daniel Barkalow <barkalow@iabervon.org> | 2009-03-07 01:11:29 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-03-07 12:19:19 -0800 |
commit | a3c8423901ec4996369b137b46354ddf1cfc0e0e (patch) | |
tree | 59312811b962c07020205dc7e2d8f6122eb02238 /remote.c | |
parent | 689f03964360114bc1139d82b1f6a0d7b897bbf0 (diff) | |
download | git-a3c8423901ec4996369b137b46354ddf1cfc0e0e.tar.gz |
Use a single function to match names against patterns
This will help when the matching changes.
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'remote.c')
-rw-r--r-- | remote.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -719,6 +719,12 @@ int remote_has_url(struct remote *remote, const char *url) return 0; } +static int match_name_with_pattern(const char *key, const char *name) +{ + int ret = !prefixcmp(key, name); + return ret; +} + int remote_find_tracking(struct remote *remote, struct refspec *refspec) { int find_src = refspec->src == NULL; @@ -742,7 +748,7 @@ int remote_find_tracking(struct remote *remote, struct refspec *refspec) if (!fetch->dst) continue; if (fetch->pattern) { - if (!prefixcmp(needle, key)) { + if (match_name_with_pattern(key, needle)) { *result = xmalloc(strlen(value) + strlen(needle) - strlen(key) + 1); @@ -1020,7 +1026,7 @@ static const struct refspec *check_pattern_match(const struct refspec *rs, continue; } - if (rs[i].pattern && !prefixcmp(src->name, rs[i].src)) + if (rs[i].pattern && match_name_with_pattern(rs[i].src, src->name)) return rs + i; } if (matching_refs != -1) @@ -1160,7 +1166,7 @@ static struct ref *get_expanded_map(const struct ref *remote_refs, for (ref = remote_refs; ref; ref = ref->next) { if (strchr(ref->name, '^')) continue; /* a dereference item */ - if (!prefixcmp(ref->name, refspec->src)) { + if (match_name_with_pattern(refspec->src, ref->name)) { const char *match; struct ref *cpy = copy_ref(ref); match = ref->name + remote_prefix_len; |