[PATCH v2 0/5] Support matching "**" in .gitattributes and .gitignore
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Sep 16, 2012, 15:27 UTC
- Message-ID
- <1347809265-2457-1-git-send-email-pclouds@gmail.com>
- In-Reply-To
- <1347710524-15404-1-git-send-email-pclouds@gmail.com>
Changes in v2:
- Correct commit sha-1 in the 1/5 to the last GPL-2 rsync commit. State it is pristine import. Move wildmatch.[ch] to top dir. - Add tests to 5/5 (I forgot to test that the integration should run well, in addition to wildmatch() working in general)
Note that there might be a regression because wildmatch() does not care about LC_CTYPE when dealing with character classes, while libc's fnmatch might. But it's probably not worth bothering about because we match against path names, which do not necessarily follow LC_TYPE but the file system's encoding.
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().gitignore | 1 + Documentation/gitignore.txt | 3 + Makefile | 6 + attr.c | 4 +- dir.c | 5 +- t/t0003-attributes.sh | 17 ++ t/t3001-ls-files-others-exclude.sh | 11 ++ t/t3070-wildmatch.sh | 27 +++ t/t3070-wildmatch/wildtest.txt | 165 ++++++++++++++++ test-wildmatch.c | 228 +++++++++++++++++++++++ wildmatch.c | 373 +++++++++++++++++++++++++++++++++++++ wildmatch.h | 6 + 12 files changed, 844 insertions(+), 2 deletions(-) create mode 100755 t/t3070-wildmatch.sh create mode 100644 t/t3070-wildmatch/wildtest.txt create mode 100644 test-wildmatch.c create mode 100644 wildmatch.c create mode 100644 wildmatch.h
-- 1.7.12.403.gce5cf6f.dirty