On Fri, Mar 29, 2013 at 08:05:40AM -0400, Jeff King wrote: > On Fri, Mar 29, 2013 at 03:45:35PM +0700, Nguyen Thai Ngoc Duy wrote: > > > On Fri, Mar 29, 2013 at 4:48 AM, Jeff King <peff@xxxxxxxx> wrote: > > > - return fnmatch_icase(pattern, name, FNM_PATHNAME) == 0; > > > + return fnmatch_icase_mem(pattern, patternlen, > > > + name, namelen, > > > + FNM_PATHNAME) == 0; > > > } > > > > I think you (or Junio) should rebase this on maint. Since c41244e > > (included in maint), this call is turned to wildmatch(WM_PATHNAME) and > > WM_PATHNAME is _not_ the same as FNM_PATHNAME for patterns like > > "foo/**/bar". A diff between next and pu shows me that WM_PATHNAME is > > incorrectly converted to FNM_PATHNAME. I hope that is the cause of all > > breakages Junio found out on pu. > > I don't think we want to rebase; the regression is in the v1.8.1 series, > and I suspected that Junio was planning to ship a v1.8.1.6 with the fix. > The wildmatch code comes in v1.8.2. > > So we would want to do any adjustment to the fix when we merge up to > maint. OK. Then Junio, you may need to resolve the conflict with something like this. Originally match_basename uses fnmatch, not wildmatch. But using wildmatch there too should be fine, now that both match_{base,path}name share fnmatch_icase_mem(). -- 8< -- diff --git a/dir.c b/dir.c index 73a08af..84744df 100644 --- a/dir.c +++ b/dir.c @@ -81,7 +81,9 @@ static int fnmatch_icase_mem(const char *pattern, int patternlen, use_str = str_buf.buf; } - match_status = fnmatch_icase(use_pat, use_str, flags); + if (ignore_case) + flags |= WM_CASEFOLD; + match_status = wildmatch(use_pat, use_str, flags, NULL); strbuf_release(&pat_buf); strbuf_release(&str_buf); @@ -564,7 +566,7 @@ int match_pathname(const char *pathname, int pathlen, return fnmatch_icase_mem(pattern, patternlen, name, namelen, - FNM_PATHNAME) == 0; + WM_PATHNAME) == 0; } /* -- 8< -- -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html