[PATCH 0/5] Support matching "**" in .gitattributes and .gitignore
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Sep 15, 2012, 12:01 UTC
- Message-ID
- <1347710524-15404-1-git-send-email-pclouds@gmail.com>
A while back I posted a proof of concept using wildmatch() from rsync. Back then the obstacle was case-insensitive matching support. I did not realize that there was iwildmatch() that does exactly that.
So here again a series that is probably ready for consumption. Now patterns that contain slashes will always go through (i)wildmatch(). fnmatch() is only used for basename matching.
Nguyễn Thái Ngọc Duy (5):
Import wildmatch from rsync
compat/wildmatch: remove static variable force_lower_case
compat/wildmatch: fix case-insensitive matching
Integrate wildmatch to git
Support "**" in .gitignore and .gitattributes patterns using
wildmatch()Documentation/gitignore.txt | 3 + Makefile | 6 + attr.c | 4 +- compat/wildmatch.c | 373 +++++++++++++++++++++++++++++++++++++++++ compat/wildmatch.h | 6 + dir.c | 5 +- t/t3070-wildmatch.sh | 27 +++ t/t3070-wildmatch/wildtest.txt | 165 ++++++++++++++++++ test-wildmatch.c | 228 +++++++++++++++++++++++++ 9 files changed, 815 insertions(+), 2 deletions(-) create mode 100644 compat/wildmatch.c create mode 100644 compat/wildmatch.h create mode 100755 t/t3070-wildmatch.sh create mode 100644 t/t3070-wildmatch/wildtest.txt create mode 100644 test-wildmatch.c
-- 1.7.12.403.gce5cf6f.dirty