Понедельник, 19 Май 2008

Выкидываем файлы из hg репозитория. Насовсем.

Иногда, кто‑то по ошибке или невнимательности, кладет в репозиторий файл которого быть там и не должно (скажем debug.log или dump какой. Или что‑то что на самом деле генерируются). С этим можно жить, на самом деле, просто удалив его. Но что делать если файл туда положили достаточно большого объема (скажем 500 mb)? Можно конечно commit сразу убить. А если этот commit живет в репозиторие несколько месяцев?

Вариантов не так и много: либо мирится с тормозами, либо просто выкинуть его.

Для того что бы выкинуть его можно воспользоваться convert’ом из hg.

Для этой операции нам нужен filemap:

exclude stuff/test/stat.log
exclude .hgtags

.hgtags исключать стоит тогда, когда от ревизии появления этого “злого файла” до tip’а ставились теги. Если их не было, то можно и оставить (hg convert после конвертирования создаст/подправит .hgtags).

Дальше просто даем команду:

hg convert --filemap filemap_file original_repo new_repo

И радуемся жизни ☺

Написано в: 12:46 | 0 комментариев | | теги: , , | постоянная ссылка |
Добавить пост в:   Delicious Reddit Slashdot Digg Technorati Google


Последние комментарии

Комментарии

К этой публикации комментариев нет

Форма комментирования для «Выкидываем файлы из hg репозитория. Насовсем.»

Обязательное поле. Не больше 30 символов.

Обязательное поле