Hg удалить все файлы, перечисленные в .hgignore
У меня есть меркурийное репо с файлом .hgignore
. Я хочу удалить все файлы с диска (hg remove
) в этом репо, которые соответствуют шаблону, указанному в .hgignore
.
Я могу перечислить все проигнорированные файлы с помощью hg status -i
, но я не знаю, как их удалить.
.hgignore:
syntax: glob
build
\.egg*
*.pyc
.DS_Store
*.sublime-*
Ответы
Ответ 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