Я использую Подвижный, и у меня есть следующая структура:
files
test
demo.jpg
video.flv
video.doc
sport
demo2.jpg
picture.jpg
text.txt
demo3.jpg
demofile3.doc
Я хочу заставить шарик отфильтровать, это только игнорирует все "jpg" файлы во всем каталоге, которые являются детьми каталога "файлов"
Я попробовал files/*.jpg, но это не работает.
Любой совет ценился бы.
Это работает для меня...
syntax: regexp
files/.*/.*jpg
Ваше собственное решение больше похоже на glob. Хитрость заключается в том, чтобы использовать синтаксис ** для вложенных каталогов. Смотрите здесь ...
Этот glob работает и у меня
**/files/**/*.jpg
Лично я бы всегда использовал синтаксис glob для таких проблем. Как только вы узнаете о синтаксисе **, вам будет проще, чем при использовании regexp, понять, что пытается сделать шаблон.
Если вас устраивает игнорировать "все JPG-файлы внутри любого каталога с именем files
", то используйте
syntax: glob
files/**.jpg
См. hg help patterns
, где объясняется, что **
- это оператор glob, который охватывает разделители каталогов. Это означает, что файл
files/test/demo.jpg
соответствует files/**.jpg
.
Однако обратите внимание, что шаблоны glob являются не корневыми. Это означает, что файл с именем
test/files/demo.jpg
также будет проигнорирован, поскольку он соответствует шаблону после удаления префикса test/
.
Для этого нужно использовать регулярное выражение. В этом синтаксисе шаблон имеет следующий вид
syntax: regex
^files/.*\.jpg
Обычно я не беспокоюсь о коренении шаблона - я предпочитаю простоту шаблонов glob. Но приятно знать, что можно укоренить игнорируемый шаблон, если это действительно необходимо.
Обязательно ли использовать синтаксис glob? Если вы используете синтаксис regex, то files/.*\.jpg
должно работать.