Понедельник, 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
И радуемся жизни ☺
Комментарии
Форма комментирования для «Выкидываем файлы из hg репозитория. Насовсем.»