Re: [PATCH v3 01/10] wildmatch: fix "**" special case

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH v3 01/10] wildmatch: fix "**" special case

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:55:53

Duy Nguyen [off-list ref] writes:
I don't think we need to support two different sets of wildcards in
the long run. I'm thinking of adding ":(glob)" with WM_PATHNAME.
Pathspec without :(glob) still uses the current wildcards (i.e. no
FNM_PATHNAME). At some point, like 2.0, we either switch the behavior
of patterns-without-:(glob) to WM_PATHNAME, or just disable wildcards
when :(glob) is not present.
Yeah, I think that is sensible.

I am meaning to merge your retire-fnmatch topic to 'master'.  What
should the Release Notes say for the upcoming release?  

    You can build with USE_WILDMATCH=YesPlease to use a replacement
    implementation of pattern matching logic used for pathname-like
    things, e.g.  refnames and paths in the repository.  The new
    implementation is not expected change the existing behaviour of
    Git at all, except for "git for-each-ref" where you can now say
    "refs/**/master" and match with both refs/heads/master and
    refs/remotes/origin/master.  In future versions of Git, we plan
    to use this new implementation in wider places (e.g. "git log
    '**/t*.sh'" may find commits that touch a shell script whose
    name begins with "t" at any level), but we are not there yet.
    By building with USE_WILDMATCH, using the resulting Git daily
    and reporting when you find breakages, you can help us get
    closer to that goal.

Re: [PATCH v3 01/10] wildmatch: fix "**" special case

From: Duy Nguyen <hidden>
Date: 2016-06-15 22:55:53

On Fri, Jan 25, 2013 at 1:22 AM, Junio C Hamano [off-list ref] wrote:
Duy Nguyen [off-list ref] writes:
quoted
I don't think we need to support two different sets of wildcards in
the long run. I'm thinking of adding ":(glob)" with WM_PATHNAME.
Pathspec without :(glob) still uses the current wildcards (i.e. no
FNM_PATHNAME). At some point, like 2.0, we either switch the behavior
of patterns-without-:(glob) to WM_PATHNAME, or just disable wildcards
when :(glob) is not present.
Yeah, I think that is sensible.

I am meaning to merge your retire-fnmatch topic to 'master'.
I thought you wanted it to stay in 'next' longer :-)
What should the Release Notes say for the upcoming release?

    You can build with USE_WILDMATCH=YesPlease to use a replacement
    implementation of pattern matching logic used for pathname-like
    things, e.g.  refnames and paths in the repository.  The new
    implementation is not expected change the existing behaviour of
    Git at all, except for "git for-each-ref" where you can now say
    "refs/**/master" and match with both refs/heads/master and
    refs/remotes/origin/master.  In future versions of Git, we plan
    to use this new implementation in wider places (e.g. "git log
    '**/t*.sh'" may find commits that touch a shell script whose
    name begins with "t" at any level), but we are not there yet.
    By building with USE_WILDMATCH, using the resulting Git daily
    and reporting when you find breakages, you can help us get
    closer to that goal.
That looks ok. You may want to mention that "**" syntax is enabled in
.gitignore and .gitattributes as well (even without USE_WILDMATCH). We
could even stop the behavior change in for-each-ref (FNM_PATHNAME in
general) but I guess because it's a nice regression, nobody would
complain.
-- 
Duy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help