Я передал этот вопрос в #mercurial
на irc.freenode.net, и я ответил, что вы не можете различить файлы и каталоги - каталог сопоставляется без слеша, который вы ищете в своем регулярном выражении.
Однако, если вы можете предположить, что ваши каталоги никогда не будут содержать точку останова .
, а ваши файлы будут, то, похоже, сработает что-то вроде этого:
^[^/]*\..*$
Я проверил это в репозитории, как это:
% hg status -ui
? a.txt
? bbb
? foo/x.txt
? foo/yyy
Добавление файла .hgignore
дает:
% hg status -ui
? bbb
? foo/x.txt
? foo/yyy
I .hgignore
I a.txt
, означающий, что файл a.txt
правильно игнорируется в корневом каталоге, а x.txt
в подкаталоге foo
- нет. Вы также можете видеть, что файл с именем bbb
в корневом каталоге не игнорируется. Но, возможно, вы можете сами добавить такие файлы в файл .hgignore
.
Если в вашем корневом каталоге есть каталог, например bar.baz
, то этот каталог и все файлы в нем будут игнорироваться. Надеюсь, это немного поможет.