hg удалить все файлы, перечисленные в .hgignore

У меня есть ртутное репо с файлом .hgignore. Я хочу удалить все файлы с диска (hg remove) в этом репо, которые соответствуют шаблонам, перечисленным в .hgignore.

Я могу перечислить все игнорируемые файлы с помощью hg status -i, но не знаю, как их удалить.

.hgignore содержимое:

syntax: glob

build
\.egg*
*.pyc

.DS_Store
*.sublime-*

person Umair A.    schedule 06.11.2013    source источник


Ответы (2)


Вы можете запускать hg remove только для отслеживаемых файлов. Чтобы удалить отслеживаемые файлы, соответствующие шаблонам .hgignore, выполните эту команду

$ hg forget "set:hgignore() and not ignored()"

Для выбора нужных файлов используется набор файлов.

Если вы хотите удалить файлы, которые уже игнорируются Mercurial (не отслеживаются), см. расширение очистки < / а>. Это можно использовать для очистки рабочей копии, чтобы она выглядела как новая выписка.

person Martin Geisler    schedule 07.11.2013

Из hgrc help

Лучшим примером может быть:

purge = !$HG status --no-status --unknown -0 | xargs -0 rm

который заставит hg purge удалить все неизвестные файлы в репозитории так же, как и расширение purge.

Чтобы удалить проигнорированные файлы вместо неизвестных, которые у вас есть ("hg help status"), используйте --ignored | -i вариант вместо --unknown

person Lazy Badger    schedule 06.11.2013