Monday, 19 May 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

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

Write on: 12:46 | 0 comments | | tags: , , | permalink |
Add post to:   Delicious Reddit Slashdot Digg Technorati Google


Add comment

Comments

No comments for this post

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

Required. 30 chars of fewer.

Required.