sparse-checkout: properly match escaped characters
commit4f52c2ce6c578896964e960f6017510f0efd3f46
authorDerrick Stolee <dstolee@microsoft.com>
Fri, 31 Jan 2020 20:16:09 +0000 (31 20:16 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 31 Jan 2020 21:05:29 +0000 (31 13:05 -0800)
tree6e35b5a1de6c7d5a73319f2fe96cb0f422155027
parent9abc60f8015d060d3f3433b105648a4725c97bd1
sparse-checkout: properly match escaped characters

In cone mode, the sparse-checkout feature uses hashset containment
queries to match paths. Make this algorithm respect escaped asterisk
(*) and backslash (\) characters.

Create dup_and_filter_pattern() method to convert a pattern by
removing escape characters and dropping an optional "/*" at the end.
This method is available in dir.h as we will use it in
builtin/sparse-checkout.c in a later change.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
dir.c
t/t1091-sparse-checkout-builtin.sh