hg удалить каталог из репо? - PullRequest
       0

hg удалить каталог из репо?

17 голосов
/ 12 октября 2010

Я хочу удалить каталог и все файлы в нем из репозитория.

Я удалил все файлы с помощью 'hg remove', но как мне удалить сам каталог?

Будет ли оно автоматически исчезать, как только я сохраню все удаленные файлы?

спасибо!

Ответы [ 3 ]

22 голосов
/ 12 октября 2010

Да.Поскольку mercurial вообще не отслеживает каталоги, только файлы, он создает только каталоги, в которых есть файлы, и, если кто-то hg updates пересматривает, все каталоги, которые становятся пустыми, автоматически удаляются.Так что если вы сделаете:

hg remove directory/*
hg commit -m 'removed all files in directory'
hg update -r 0   # updates to a different revision
hg update tip    # jump back to the tip

Это последнее обновление приведет к удалению каталога.Для всех остальных это даже проще.Когда они hg update к вашим новым изменениям, их каталог просто исчезнет (при условии, что в нем нет незафиксированного файла).

10 голосов
/ 14 октября 2010
hg remove dir

Если вы в конечном итоге получите пустые каталоги и хотите избавиться от них, простой способ - это расширение для очистки. (добавьте purge = в группу [extensions] в файле .hrgc для разблокировки).

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

hg purge

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

hg purge -p

заранее, чтобы увидеть, что будет делать команда (-p напечатает «тестовый прогон», ничего не делая.) Никогда не забывайте опцию - help ! ;)

edit: я предпочитаю использовать purge для hg update по очереди, поскольку триггеры обновления перестраивают в моей IDE, если она открыта (и это хорошая ставка, когда я это делаю). hg purge, вероятно, будет более плавным. И вы можете использовать --all, чтобы включить игнорируемые файлы тоже (хотя должны быть осторожны).

2 голосов
/ 12 октября 2010

Чтобы удалить каталог, просто выполните

hg remove <dir>
hg commit -m "..."

Это удалит каталог и все файлы в нем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...