• Duy Nguyen's avatar
    wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode · e5bbe09e
    Duy Nguyen authored
    In WM_PATHNAME mode (or FNM_PATHNAME), '*' does not match '/' and '**'
    can but only in three patterns:
    - '**/' matches zero or more leading directories
    - '/**/' matches zero or more directories in between
    - '/**' matches zero or more trailing directories/files
    When '**' is present but not in one of these patterns, the current
    behavior is consider the pattern invalid and stop matching. In other
    words, 'foo**bar' never matches anything, whatever you throw at it.
    This behavior is arguably a bit confusing partly because we can't
    really tell the user their pattern is invalid so that they can fix
    it. So instead, tolerate it and make '**' act like two regular '*'s
    (which is essentially the same as a single asterisk). This behavior
    seems more predictable.
    Noticed-by: dana's avatardana <dana@dana.is>
    Signed-off-by: Duy Nguyen's avatarNguyễn Thái Ngọc Duy <pclouds@gmail.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
wildmatch.c 7.81 KB