Используя Подвижный, я должен проигнорировать все файлы и каталоги кроме каталогов "тесты" и "языки" и файлы в тех каталогах. Это все должно быть сделано с regex и .hgignoere
Файлы:
Я попробовал этим:
^(?!test|test/|test$|languages|languages/|languages$)
но это только соответствует файлам, который запускается с теста и языка:
То, что я хочу, к соответствиям также
Любой совет ценился бы.
Используйте глобы, они проще:
C:> dir
tests languages pr0n espionage more_pr0n
C:> type .hgignore
syntax: glob
pr0n/*
espionage/*
more_pr0n/*
добавлено: Если вы беспокоитесь, что появятся новые каталоги, которые не будут игнорироваться, то вам следует:
hg add .hgignore
hg commit
echo "new_directory/*" >> .hgignore
hg commit
Если у вас слишком много каталогов и файлов, выскакивающих в исходном каталоге, чтобы этот метод работал, сделайте каталог только для исходников.
Это не тот ответ, который вы ищете, но почти никто не использует синтаксис отрицательной ширины ?:
в своих файлах .hgignore. В тех случаях, когда они хотят, чтобы только небольшое подмножество всех файлов было невыграженным, они обычно просто игнорируют все, а затем hg добавляют
исключения - помните, что в mercurial (в отличие от cvs / svn) добавление файла переопределяет игнорировать.
Поэтому, если ваш .hgignore у вас будет:
.*
, а затем вы hg добавить
файлы в ваших тестах и каталогах языков явно с помощью 'hg add'. Тогда вы делаете: Конечно, не забывайте добавлять любые новые файлы по мере того, как вы идете, так как все будет проигнорировано, но если большинство файлов должны быть проигнорированы, это все еще более простой путь.
Это невозможно.
См. справочную страницу .
Например, у нас есть неотслеживаемый файл, file.c, в a / b / file.c внутри нашего репозиторий. Mercurial проигнорирует file.c, если есть шаблон в .hgignore соответствует a / b / file.c, a / b или a.
Допустим, вы создали регулярное выражение, которое не будет соответствовать ни одному пути, содержащему test
, а файл proba / tests.txt
находится в вашем рабочем каталоге. Это регулярное выражение сначала будет применено к proba
и будет соответствовать, что приведет к игнорированию файла.