The first patch actually belongs to nd/wildmatch as it fixes how "**" is only effective when it's surrounded by slashes. Other fixes from v2 are WM_PATHNAME check is replaced by match_slash (or "special" previously) in 8/10 and 9/10. WM_PATHNAME is only used to set match_slash. If we rely on (the lack of) WM_PATHNAME, we may miss "**" with WM_PATHNAME on. Nguyễn Thái Ngọc Duy (10): wildmatch: fix "**" special case compat/fnmatch: respect NO_FNMATCH* even on glibc wildmatch: replace variable 'special' with better named ones wildmatch: rename constants and update prototype wildmatch: make dowild() take arbitrary flags wildmatch: support "no FNM_PATHNAME" mode test-wildmatch: add "perf" command to compare wildmatch and fnmatch wildmatch: make a special case for "*/" with FNM_PATHNAME wildmatch: advance faster in <asterisk> + <literal> patterns Makefile: add USE_WILDMATCH to use wildmatch as fnmatch Makefile | 6 ++ compat/fnmatch/fnmatch.c | 3 +- dir.c | 3 +- git-compat-util.h | 13 ++++ t/t3070-wildmatch.sh | 45 +++++++++++++- test-wildmatch.c | 82 +++++++++++++++++++++++++- wildmatch.c | 150 +++++++++++++++++++++++++++++------------------ wildmatch.h | 23 +++++--- 8 files changed, 257 insertions(+), 68 deletions(-) -- 1.8.0.rc2.23.g1fb49df -- 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