Как удалить все необработанные файлы из моего рабочего каталога в Mercurial?

Можно ли удалить все неископанные файлы из моего рабочего каталога? Скажем, я добавил кучу файлов в рабочий каталог, не добавлял их через "hg add" и теперь хочу полностью избавиться от этих новых файлов?

Я нахожусь в окнах, хотя я использую PowerShell, поэтому здесь возможно также совместное решение.

Ответ 1

Добавьте расширение Mercurial, называемое продувкой. Распространяется Mercurial.

Это расширение добавляет команду "purge" в "hg", которая удаляет файлы, неизвестные Mercurial. т.е. неотслеживаемые файлы. Так что ваша команда будет,

hg purge

Он не включен по умолчанию, возможно, чтобы избежать случайного удаления файлов, которые вы забыли добавить.

Чтобы установить это расширение, добавьте его в файл настроек Mercurial (.hgrc в Unix, Mercurial.ini в Windows)

[extensions]
purge = 

Для временного включения этого расширения вы можете использовать

hg purge --config extensions.purge= 

Ответ 2

Правильный способ без очистки:

hg st -un0 | xargs -0 rm

Ответ 3

Спасибо! Это работало и для меня в Powershell:

hg st -un | rm

Ответ 4

Попробуйте следующее:

hg st -un | xargs rm

Ответ 5

rm $(hg st -u)

... где -u означает "untracked", вы также можете выбрать другое состояние.

Ответ 6

Это должно сделать трюк:

hg status | grep '^\?' | sed 's/^\? //' | xargs rm -rf

Ответ 7

если вы не хотите использовать чистку:

rm $(hg st | grep ^? | awk '{print $2}')

Ответ 8

Предполагая, что вы используете систему * nix, вы можете запустить что-то вроде этого:

rm `hg st | awk '/\?/ {print $2}'`

из корня меркуриального репозитория.

Я не знаю стандартную команду mercurial для достижения того же, но я считаю, что для этого есть еще много вариантов командной строки. Я уверен, что есть "лучшие" решения, и было бы интересно услышать любые другие предложения.

Пожалуйста, используйте эту команду с осторожностью, поскольку она не была тщательно протестирована.

Ответ 9

Вы можете использовать

hg purge --all

чтобы удалить все проигнорированные и не проверенные файлы

(сначала вам нужно установить расширение чистки, как объяснено в некоторых ответах)