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 <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html