Как я могу игнорировать все под папкой в ​​Mercurial

Я ищу выражение для файла .hgignore, чтобы игнорировать все файлы под указанной папкой.

например: я хотел бы игнорировать все файлы и папки под бункером

На самом деле любые советы о том, как формируются выражения, будут большими

Ответ 1

В качестве альтернативы:

syntax: glob
bin/**

Ответ 2

Я провел несколько экспериментов, и я обнаружил, что синтаксис регулярных выражений в Windows применяется к пути, начинающемуся с текущего репозитория, с обратными косами, преобразованными в слэши.

Итак, если ваш репозиторий находится в E:\Dev, например, hg status применит шаблоны к foo/bar/file1.c и тому подобное. К этому пути применяются анкеры.

Итак:

  • Glob применяется к элементам пути и уходит корнями в части элементов
  • foo соответствует любой папке (или файлу) с именем foo (не для "foobar" или "barfoo" )
  • * foo * соответствует любой папке или файлу с именем "foo" в имени
  • foo/bar * соответствует всем файлам в папке "foo" , начиная с "bar"


  • Regex чувствителен к регистру, а не привязан
  • Конечно, специальные символы регулярного выражения с обратной косой чертой похожи. (Точка)
  • /matches\разделитель путей в Windows.\не соответствует этому разделителю...
  • foo соответствует всем файлам и папкам с "foo" внутри
  • foo/совпадает только с папками, заканчивающимися на "foo"
  • /foo/соответствует папке "foo" где-то в пути
  • /foo/bar/соответствует папке "bar" в папке "foo" где-то в пути
  • ^ foo соответствует файлу или папке, начинающейся с foo в корневом каталоге репозитория
  • foo $совпадает с файлом, заканчивающимся на foo

Надеюсь, это поможет, я нашел страницу HGIGNORE (5) немного кратким.

Ответ 3

Оба из них также отфильтровывают каталог с именем cabin, который может быть не таким, каким вы хотите. Если вы фильтруете верхний уровень, вы можете использовать:

^/bin/

Для bin каталогов ниже вашего корня, вы можете опустить ^. Нет необходимости указывать синтаксис, по умолчанию используется regexp.

Ответ 4

Nevermind, я получил его

syntax: regexp
bin\\*

выражения следуют стандартным синтаксису регулярных выражений perl.

Ответ 5

игнорировать файлы .class

syntax: regexp
?\.class

Ответ 6

Синтаксис

: glob бен /**

Этот ответ показан выше, однако я также хотел бы добавить, что * и ** обрабатываются по-разному. ** является рекурсивным, * не является.

См. Hg Patterns