hg — игнорировать каталог только в корне

В моем проекте .hgignore я хочу исключить /static/ (т. е. статическую папку в корне каталога), но не /templates/static/. Как мне настроить .hgignore, чтобы разрешить это?


person BenGC    schedule 29.01.2012    source источник
comment
Что вы пробовали? Вы пробовали что-то вроде syntax:regexp с ^/static/.*?   -  person mathematical.coffee    schedule 29.01.2012
comment
Можно ли это сделать с помощью глобуса?   -  person user    schedule 30.06.2013
comment
@buffer Нет. Согласно справочной странице, глобус не может быть укоренен. Но вы можете переключаться между синтаксисами в файле .hgignore.   -  person Christoffer Lette    schedule 14.09.2015
comment
Если вы используете синтаксис glob по умолчанию в своем .hgignore, вы можете использовать re:^static/ для игнорирования статической папки только в корне репозитория.   -  person Vijay Varadan    schedule 03.04.2017


Ответы (2)


Вы можете включить syntax: regexp в начало .hgignore, а затем использовать синтаксис регулярных выражений Perl для корневого каталога с помощью ^. Так что только ^static должен работать.

person clime    schedule 29.01.2012
comment
Я бы изменил это на ^static/, иначе он будет игнорировать все каталоги, имя которых начинается с static, что может привести к путанице в будущем. - person Laurens Holst; 30.01.2012
comment
Если ваш .hgignore имеет синтаксис glob, вы можете просто поместить syntax: regexp и syntex: glob до и после строки ^static/. По-видимому, разрешено переключаться между синтаксисами. См. справочную страницу: Выбранный синтаксис остается в силе при анализе всех шаблонов. которые следуют, пока не будет выбран другой синтаксис. - person Christoffer Lette; 14.09.2015

Начиная с Mercurial 4.9, вы можете использовать syntax: rootglob для вставки корневых шаблонов глобусов.

Новый rootglob: шаблон имени файла для глобуса, который находится в корневом каталоге репозитория. Подробности см. в шаблонах hg help и hg help hgignore.

person Raphaël Gomès    schedule 13.03.2019