Я хотел бы удалить каталог и все файлы из него из репо.
Я удалил все файлы с помощью "hg remove", но как удалить сам каталог?
Будет ли он просто автоматически исчезать после того, как я завершу все удаленные файлы?
спасибо!
Я хотел бы удалить каталог и все файлы из него из репо.
Я удалил все файлы с помощью "hg remove", но как удалить сам каталог?
Будет ли он просто автоматически исчезать после того, как я завершу все удаленные файлы?
спасибо!
Да. Поскольку 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
к вашим новым изменениям, их каталог просто исчезнет (если в нем нет незафиксированного файла).
hg remove dir
Если у вас заканчиваются пустые каталоги, и вы хотите избавиться от них, то простым способом является расширение продувки. (добавьте purge = под группу [extensions] в ваш файл .hrgc, чтобы разблокировать).
Затем вы можете использовать
hg purge
чтобы очистить пустые диски... Вы должны быть осторожны с командой очистки, поскольку она удаляет все, что не отслеживается в ваших репозиториях. Я настоятельно рекомендую вам запустить
hg purge -p
чтобы увидеть, что будет делать команда (-p будет печатать "тестовый прогон", не делая ничего.) Никогда не забывайте вариант --help!;)
edit: я предпочитаю использовать чистку для обновления hg последовательно, поскольку обновления триггеров восстанавливаются в моей среде IDE, если она открыта (и это хорошая ставка, когда я это делаю). hg чистка, вероятно, будет более гладкой. И вы можете использовать -all для включения игнорируемых файлов (должно быть осторожно).
Чтобы удалить каталог, просто сделайте
hg remove <dir>
hg commit -m "..."
Это приведет к удалению каталога и всех файлов под ним.