Regex отрицательный взгляд в файле hgignore
Я ищу способ изменить мой файл.hgignore, чтобы игнорировать все файлы "Properties / AssemblyInfo.cs", за исключением тех, которые находятся в подпапках "Test /" или "Tests /".
Я пытался использовать негативное выражение(?<!Test)/Properties/AssemblyInfo\.cs$
, но я не нашел способа "игнорировать" в обеих папках "Test /" и "Tests /".
3 ответа
Python не поддерживает просмотр с переменной длиной.
Но \b(?<!Test)(?<!Tests)/Properties/AssemblyInfo\.cs$
должно сработать.
Просто для того, чтобы сделать это для любых будущих искателей: такие вычисления как регулярное выражение необходимы, только если вы ожидаете, что в будущем в рабочий каталог будет добавлено намного больше файлов исключений.
Если вы просто хотите сделать текущие исключения, вы можете просто hg add
их. В отличие от SVN и CVS, в Mercurial вы можете add
игнорируемый файл, и он переопределяет .hgignore
- будущие изменения будут автоматически отслеживаться.
Это не неслыханно иметь .*
в вашем .hgignore
файл, а затем hg add
файлы, которые вы хотите отслеживать.
В этом случае, более традиционный ртутный способ сделать это будет .hgignore
файл как это:
/Properties/AssemblyInfo\.cs
с последующим:
$ hg add Test/Properties/AssemblyInfo.cs
$ hg add Tests/Properties/AssemblyInfo.cs
Если у вас есть сотни тестов и тестов, вы можете добавить их с find
, но если вы создаете новые каждый день, то регулярное выражение определенно является подходящим вариантом.
Обычно вы просто делаете Tests?
, но, поскольку в зависимости от механизма регулярных выражений динамический просмотр не разрешен, вы можете просто использовать две ветви:
(?<!Test|Tests)/Properties/AssemblyInfo\.cs$