Mercurial в Windows не видит.hgignore - почему?
Windows не может забрать мой файл.hgignore. Я запускаю Mercurial из командной строки, и "hg status" показывает множество файлов в игнорируемых каталогах.
Файл.hgignore выглядит следующим образом (в начале файла или в начале каждой строки нет пробелов). Я положил его в корневой каталог хранилища.
\.pyc$
\.pyo$
\.DS_Store
\.Python
\.installed.cfg
^bin$
^build$
^develop-eggs$
^eggs$
^include$
^lib$
^parts$
^pip-log.txt$
^web/localsettings.py$
Я попытался сохранить файл в ANSI и UTF-8, и это, похоже, не имеет значения.
Я знаю, что файл работает нормально в Linux, есть ли что-нибудь другое о путях в Windows?
3 ответа
"hg status" показывает множество файлов в игнорируемых каталогах
Вы имеете в виду исключительно.DS_Store и.Python? Правило для ^bin$ будет игнорировать только записи с этой точной строкой. Например, он не будет игнорировать "bin/a.out".
Единственное, о чем я мог бы подумать, так это о наличии каких-то глобальных настроек, которые устанавливают синтаксис для glob (в отличие от значения по умолчанию для regex), где-то скрывающийся. Я не знаю ничего подобного, и, конечно, он не включен по умолчанию при установке официальной бинарной версии Mercurial.
Если файл.hgignore находится в каталоге вашего профиля пользователя (%userprofile%/. Hgignore), то отредактируйте ваш mercurial.ini (который также должен находиться в папке вашего профиля пользователя), чтобы он имел следующее:
[ui]
ignore = %USERPROFILE%/.hgignore
Это заставит hg распознать и использовать ваш файл.hgignore. Файл.hgignore в каталоге вашего профиля пользователя повлияет на поведение hg для всех репозиториев. Если вы хотите иметь определенные настройки для каждого репозитория, вы должны иметь возможность помещать файлы.hgignore в корень каждого репозитория.
Также помните об этом: даже если Mercurial подбирает ваш новый файл.hginore, он не обязательно проигнорирует все указанные файлы! Любой файл, который был ранее добавлен в репозиторий, НЕ будет проигнорирован, пока вы явно не удалите его из репозитория.
- Во-первых, файл.hgignore должен находиться в корне вашего хранилища.
- Затем вы должны указать используемый синтаксис в первой строке вашего файла.hgignore (в вашем случае это regexp):
синтаксис: регулярное выражение