2011-01-26 2 views
1

Мне нужно удалить мою папку «uploads» из репозитория со всей ее историей, потому что она содержит только данные тестирования нежелательной почты.Как очистить репозиторий Mercurial?

Пожалуйста, помогите.

ответ

8

Вы хотите использовать удлинитель convert, который поставляется с ртутным. Поскольку вы хотите очистить каталог из истории, вам придется полностью фильтровать существующий репозиторий, конвертируя его в новый.

Предположим следующую составленную структуру вашего репо:

/ 
src 
doc 
images 
upload 

Создать простой текстовый файл со следующим содержанием

exclude upload 

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

Теперь запустите ртутные Преобразовать

hg convert --filemap path/to/the/textfile old-repo new-repo 

Изменения в каталог новых репо. Обратите внимание, что mercurial создал репозиторий bare/null rev (без содержимого, но с каталогом .hg). Выполните следующее, чтобы обновить свой последний набор. Обратите внимание, что каталог загрузки пропал!

ВНИМАНИЕ: Я не знаю, как это обрабатывает названные ветви или метки. Ты сам по себе. По крайней мере, вы не изменяете исходное репо. Сделайте столько копий, сколько вам нужно, чтобы все было правильно.