diff options
Diffstat (limited to 'ref-filter.c')
-rw-r--r-- | ref-filter.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/ref-filter.c b/ref-filter.c index 49021ee..600774d 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -1816,7 +1816,7 @@ static int match_name_as_path(const struct ref_filter *filter, const char *refna refname[plen] == '/' || p[plen-1] == '/')) return 1; - if (!wildmatch(p, refname, WM_PATHNAME)) + if (!wildmatch(p, refname, flags)) return 1; } return 0; @@ -1871,6 +1871,15 @@ static int for_each_fullref_in_pattern(struct ref_filter *filter, return for_each_fullref_in("", cb, cb_data, broken); } + if (filter->ignore_case) { + /* + * we can't handle case-insensitive comparisons, + * so just return everything and let the caller + * sort it out. + */ + return for_each_fullref_in("", cb, cb_data, broken); + } + if (!filter->name_patterns[0]) { /* no patterns; we have to look at everything */ return for_each_fullref_in("", cb, cb_data, broken); |