#mercurial #tortoisehg
#mercurial #tortoisehg
Вопрос:
Как удалить все файлы *.bak или *.orig в mercurial?
пример:
C:devweb>hg stat
? ViewsSystemUnderConstruction.cshtml.bak
? ViewsTopicIndex.cshtml.bak
? ViewsTopicMasterPage.cshtml.bak
? Web.config.bak
C:devweb>hg rem -I *.bak
abort: no files specified
Ответ №1:
hg remove
удаляет только файлы, которые уже были зафиксированы. AFAIK, в mercurial нет команды для удаления неотслеживаемых файлов.
Чтобы узнать, как работают шаблоны файлов в mercurial, запустите hg help patterns
.
Ответ №2:
- Неотслеживаемые файлы (знак «?») могут быть удалены операционной системой, а не Mercurial
- Вы должны оставить файлы как есть, просто добавьте шаблоны в .hgignore, и после этого файлы, соответствующие шаблонам, больше не будут появляться
hg status
- Правильная команда remove для удаления отслеживаемых файлов bak и origin будет
hg remove -I **.bak -I **.orig
Ответ №3:
Вам следует взглянуть на hg purge
расширение:
Удалите файлы, неизвестные Mercurial. Это полезно для проверки локальных и незафиксированных изменений в дереве исходных текстов, которое в остальном является чистым.
Это означает, что purge удалит:
- Неизвестные файлы: файлы, помеченные «?» по «статусу hg»
- Пустые каталоги: фактически Mercurial игнорирует каталоги, если они не содержат файлов, находящихся под управлением системы управления версиями
Но это оставит нетронутым:
- Измененные и неизмененные отслеживаемые файлы
- Игнорируемые файлы (если не указано —all)
- В репозиторий добавлены новые файлы (с помощью «hg add»)
Если в командной строке указаны каталоги, рассматриваются только файлы в этих каталогах.
Будьте осторожны с purge, так как вы можете необратимо удалить некоторые файлы, которые забыли добавить в репозиторий. Если вы хотите распечатать только список файлов, которые эта программа удалила бы, используйте опцию —print.
Ответ №4:
Вы можете выполнить следующие две команды:
D:workspace>hg purge -I **/*.orig --all
и затем:
D:workspace>hg purge -I **/*.bak --all
Отслеживаемые файлы не будут удалены, но я предполагаю, что для вас это не проблема. Убедитесь, что вы включили расширение очистки перед запуском этого, и вы сможете выполнять пробные запуски с --print
аргументом.