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

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

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

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

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

спасибо!

4b9b3361

Ответ 1

Да. Поскольку 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 к вашим новым изменениям, их каталог просто исчезнет (если в нем нет незафиксированного файла).

Ответ 2

hg remove dir

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

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

hg purge

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

hg purge -p

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

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

Ответ 3

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

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

Это приведет к удалению каталога и всех файлов под ним.