Как получить шаблон .hgignore для применения в подкаталогах? - PullRequest
7 голосов
/ 26 декабря 2010

У меня в .hgignore есть шаблон "* .pyc"

Файлы .pyc действительно игнорируются на корневом уровне, но не внутри подкаталогов.

Есть идеи?

Ответы [ 3 ]

7 голосов
/ 26 декабря 2010

Используйте синтаксис glob (поместите syntax: glob вверху файла), и он должен работать По умолчанию Mercurial использует регулярные выражения.

syntax: glob

*.pyc
6 голосов
/ 26 декабря 2010

По умолчанию шаблоны являются регулярными выражениями python. Выражения ищутся в каждом компоненте пути. Так что вы, вероятно, хотите, чтобы \.pyc$ соответствовал файлам, заканчивающимся на .pyc

$ hg init test-ignore
$ cd test-ignore 
$ touch foo.pyc
$ mkdir bar 
$ touch bar/bar.pyc
$ echo "\.pyc$" > .hgignore
$ hg st        
? .hgignore

Обратите внимание, что ".pyc $" будет игнорировать "foopyc", поскольку неэкранированная точка соответствует любому символу. Аналогично, «.pyc» будет соответствовать «foo.pyche.bar»

Если вам не нравится синтаксис регулярного выражения, вы можете переключиться на глобальные переменные. Например, текущий .hgignore в репозитории Mercurial начинается с:

syntax: glob

*.elc
*.orig
*.rej
*~
*.mergebackup
*.o
*.so
*.pyd
*.pyc
*.swp
*.prof
\#*\#
.\#*

Все объясняется в man 5 hgignore

4 голосов
/ 28 ноября 2012

вы можете попробовать использовать этот код

syntax:glob


**.pyc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...