Re: [PATCH v3 01/10] wildmatch: fix "**" special case
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:55:51
Junio C Hamano [off-list ref] writes:
We obviously do not want to set FNM_PATHNAME when we are not substituting fnmatch() with wildmatch(), but I wonder if it may make sense to unconditionally use WM_PATHNAME semantics when we build the system with USE_WILDMATCH and calling wildmatch() in this codepath. Users can always use "*/**/*" in place of "*" in their patterns where they want to ignore directory boundaries.
Another possibility, which _might_ make more practical sense, is to update dowild() so that any pattern that has (^|/)**(/|$) in it implicitly turns the WM_PATHNAME flag on. There is no reason for the user to feed it a double-asterisk unless it is an attempt to defeat some directory boundaries, so we already know that the user expects WM_PATHNAME behaviour at that point. Otherwise, the user would have simply said '*' instead, wouldn't he? I said "_might_" because it sounds a bit too magical to my taste. I dunno.