Добавление проекта в SVN

Когда проект импортируется в репозиторий SVN (командой import), то в процессе затягивания файлов "пылесосом" могут быть взяты те из них, которые добалять было совсем не нужно. Например, большие картинки, базы данных, скомпилированные приложения и т.д. Репозиторий может распухнуть, и хотя дисковое пространство сейчас не в дефиците, лишний гигабайт размера репозитория скорости работы СУБД BerkleyDB, на которой основана SVN, не добавит. Кто виноват - понятно: импорт без пользовательской фильтрации по его ходу (можно настроить опции ignore, но это относительно трудоемко и статично) и отстутствие до сих пор команды типа remove permanetly (удалить файл/каталог вместе с историей, ее уже долгое время планируют реализовать, но воз и ныне там). Что делать?

Делаем вот что. Не делая пока checkout, в Tortoise открываем просмотрщик репозитория и удаляем ручами все нежеланные каталоги и файлы. После чего командой ниже делаем резервную копию только последней версии (синтаксис приведен для windows)
svnadmin dump /mysvn/myrepository -r HEAD > D:\myrepo.dmp

Удалаем репозиторий и создаем его снова, пустой. После чего восстанавливаем информацию другой командой
svnadmin load /mysvn/myrepository < D:\myrepo.dmp

Все. В нашем репозитории находятся только необходимые файлы.

Подчеркиваю, данный способ годится только для момента начального добавления проекта в репозиторий. Если проект уже имеет историю изменений, которую хочется сохранить, то принцип остается прежним, но алгоритм усложняется:
- сохраняем копию со всей историей
- восстанавливаем, предварительно использовав команду svndumpfilter

Комментарии

Изображение пользователя zeroed.

Перенос репозитория

Может подскажешь, можно ли перенести репозиторий с одного хостинга (assembla.com) на другой (opensvn.org).

Что я сделал - просто залил все файлы в новый репозиторий. А потом только дошло что все ревизии я, собственно говоря, потерял..

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

Изображение пользователя st.

Можно

Можно со всей историей.
svnadmin dump /mysvn/myrepository > myrepo.full.dump

И восстановить так же, как в примере.