Использование Mercurial, мне нужно игнорировать все файлы, кроме тех, которые находятся в определенном каталоге под названием «хранители».Mercurial .hgignore Negative Lookahead
На первый взгляд, это казалось простым использованием Regex и Negative Lookahead; однако, хотя я могу проверить свое регулярное выражение в Regex Buddy и других инструментах, в TortoiseHg, он работает не так, как ожидалось.
Файлы:
- барахло \ junk.txt
- барахло \ текст
- хранители \ тест \ тест
- хранители \ тест \ test2 \ hi.txt
- keepersblah.txt
Нельзя игнорировать только два файла под хранителями.
Вот регулярное выражение я надеялся, что будет работать:
^(?!keepers/).+$
К сожалению, это приводит к все файлы будут игнорироваться. Если я изменю его на:
^(?!keepers).+$
он работает так, как вы ожидали. То есть он игнорирует любые файлы/папки, которые не запускаются с хранителями. Но я хочу игнорировать файлы, которые начинаются с хранителей.
Причудлив, если я могу изменить его к этому:
^(?!keepers/).+\..+$
Это будет правильно соответствовать папке, но это не будет игнорировать файлы, которые не в хранителях папки, если они не имеют расширения.
Любые советы будут оценены.
удаления мертвой ссылке Imageshack
Я также попытался '^ (?! хранители \ б)', но не удалось «keepers.txt» – eswald
Блестящий! Большое вам спасибо, оба отлично работали. Я бил головой в течение часа :) –
В ожидающем утверждения нет необходимости в неадаптирующих группах, так как он еще не взят: '^ (?! keepers (/ | $)). *' – Tomalak