Как я могу игнорировать все под папкой в Mercurial
Я ищу выражение .hgignore файл, чтобы игнорировать все файлы в указанной папке.
например: я хотел бы игнорировать все файлы и папки под bin
на самом деле любой совет о том, как формируются выражения было бы здорово
6 ответов:
Я провел несколько экспериментов и обнаружил, что синтаксис регулярных выражений в Windows применяется к пути, начинающемуся с текущего репозитория, с обратными косыми чертами, преобразованными в косые черты.
Так что если ваш репозиторий находится в E:\Dev например,
hg status
будет применять шаблоны против foo / bar / file1.c и так далее. Якоря применяются к этому пути.Так:
- Glob применяется к элементам пути и коренится в элементных частях
- foo соответствует любой папке (или файлу) названный foo (не "foobar" или "barfoo")
- * foo * соответствует любой папке или файлу с "foo" в имени
- foo / bar * соответствует всем файлам в папке "foo", начиная с"bar"
- регулярное выражение чувствительно к регистру, не привязано
- конечно, обратная косая черта regex специальные символы, такие как . (точка)
- / соответствует \ разделитель пути в Windows. \ не соответствует этому разделителю...
- foo соответствует всем файлам и папки с "foo" внутри
- foo / соответствует только папки, заканчивающиеся на "foo"
- /foo / соответствует папке " foo " где-то в пути
- /foo / bar / соответствует папке " bar "в папке" foo " где-то в пути
- ^foo соответствует файлу или папке, начиная с foo в корне репозитория
- foo$ соответствует файлу, заканчивающемуся foo
Я надеюсь, что это поможет, я нашел HGIGNORE (5) страница немного краткий.
оба из них также будут отфильтровывать каталог под названием
cabin
, который может быть не то, что вы хотите. Если вы фильтруете верхний уровень, вы можете использовать:^/bin/
на
bin
каталоги ниже вашего корня, вы можете опустить ^. Нет необходимости указывать синтаксис, по умолчанию используется регулярное выражение.
неважно, я получил его
syntax: regexp bin\*
выражения следуют стандартному синтаксису регулярных выражений perl.
синтаксис: glob бин/**
этот ответ показан выше, однако я также хотел бы добавить, что * и ** обрабатываются по-разному. ** является рекурсивным, * нет.
посмотреть Шаблоны Рт. Ст.