Оттачивание файла .hgignore с отрицательным взглядом - PullRequest
0 голосов
/ 25 января 2012

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

Представьте себе эти файлы:

Projects/search.intrasearch/newUI/override/xslt/foo.xsl
Projects/search.intrasearch/newUI/default/
Projects/search.intrasearch/oldUI/baz/

Я хочу игнорировать вторые две строки, но не первую.Итак, в Mercurial я хочу включить файлы в каталог newUI / override, и это дочерние элементы, но это все.В реальной системе существует гораздо больше каталогов, чем указано выше, поэтому простое исключение oldUI и default не сработает.Мне нужен метод включения .

Это работает в инструменте регулярных выражений, но не в Mercurial:

(?i)Projects/search\.intrasearch/(?!newUI/override).*

1 Ответ

2 голосов
/ 25 января 2012

Я наконец понял это, используя комбинацию двух регулярных выражений:

(?i)Projects/search.*?/newUI/(?!override).*
(?i)Projects/search[^/]*/(?!newUI).*

Это, кажется, успешно исключает все, что является родственным для newUI, и все, что является родственным для переопределения.

...