Как я могу игнорировать все, что находится в папке в Mercurial

StackOverflow https://stackoverflow.com/questions/254002

Вопрос

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

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

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

Это было полезно?

Решение

Поочередно:

syntax: glob
bin/**

Другие советы

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

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

Итак:

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


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

Я надеюсь, что это поможет, я нашел ЗНАЧЕНИЕ (5) страница немного лаконичная.

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

^/bin/

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

Неважно, я понял

syntax: regexp
bin\\*

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

Синтаксис

: glob бен / **

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

См. шаблоны Hg

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

syntax: regexp
?\.class
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top