2010-10-12 8 views
17

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

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

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

спасибо!

ответ

21

Да. Поскольку 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 

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

+0

Предостережение: если вы проигнорировали файлы в каталоге, hg сохранит их там. –

+2

Обратите внимание, что для меня, работающих под Windows XP, одиночные кавычки не работают для сообщения фиксации. вы должны использовать двойные кавычки. –

2

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

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

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

9
hg remove dir 

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

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

hg purge 

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

hg purge -p 

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

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

Смежные вопросы