Я забываю помещать корректный .hgignore в свой проект, и теперь сталкиваюсь со многими бесполезными файлами в моем репозитории. Поскольку эти файлы уже являются объектом управления исходным кодом .hgignore, не заберет их.
Существует ли путь к hg для упущения всех файлов, подобранных .hgignore?
Чтобы игнорировать этот файл, удалите его.
hg remove -Af myfile
(удалить из ревизии, оставив копию в вашем рабочем пространстве: или hg Забыть
)
Но ваш репозиторий Mercurial не «забудет» те же самые файлы из предыдущих ревизий.
Удаление файла не влияет на его историю.
Важно понимать, что удаление файла имеет только два эффекта.
- Удаляет текущую версию файла из рабочего каталога.
- Это мешает Mercurial отслеживать изменения в файле с момента следующего коммита.
Удаление файла никоим образом не изменяет историю файла.
Другой способ, когда у вас есть много лишних файлов, которые вам нужно игнорировать, это:
hg addremove
(предупреждение, он добавит не зафиксированные в данный момент файлы, но hg удалит
все остальные файлы, которые вы только что удалили) См. Как забыть все удаленные файлы с Mercurial для получения дополнительной информации.
Я не думаю, что hg может сделать это из коробки.
Но довольно легко свернуть свой собственный. Записи hgignore являются regexp или glob, поэтому вы можете просто просмотреть записи, найти соответствующие файлы / каталоги и выполнить для них «hg remove».
Для синтаксического анализа/сопоставления hgignore, если вы используете python, вы можете просто вызывать функции в файле ignore.py hg.
Может быть, кто-нибудь напишет для этого расширение.