Подтвердить что ты не робот

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

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

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

.hgignore:

syntax: glob

build
\.egg*
*.pyc

.DS_Store
*.sublime-*
4b9b3361

Ответ 1

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

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

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

Если вы хотите удалить файлы, которые уже игнорируются Mercurial (не отслеживаются), см. расширение

Ответ 2

От hgrc help

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

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

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

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