Если там есть история, которая бесполезна для вас и просто тратит место, тогда создание нового репо - хорошая идея. Есть много способов приблизиться к этому, в зависимости от того, сколько SVN вы знаете, но простой способ - это проверить более старую ревизию, которую вы хотите использовать в качестве отправной точки, а затем создать новую репо из этой, проверить следующую ревизию, совершить и повторить.
Конечно, вам нужно написать несколько инструментов, чтобы помочь с этим. Когда вы проверяете эту старую ревизию, появляется много скрытых каталогов .svn, содержащих метаданные. Поэтому не делайте svn checkout <url>
, вместо этого svn export <url>
. Он будет экспортировать ваши файлы, кроме каталогов метаданных .svn. Используйте это, чтобы создать новый репо.
Затем скопируйте эти файлы в уже проверенный новый репозиторий. Затем просто добавьте svn из этих файлов. Затем совершите это, и все готово.
Возможно, было бы неплохо вывести этот процесс из текстового файла, в котором перечислены все номера ревизий, по одному на строку. Таким образом, если вы хотите пропустить группу, связанную с проблемами слияния, это легко сделать.
Вероятно, вы могли бы сделать все это только с помощью сценариев оболочки bash, но если у вас есть навыки работы с языком сценариев, таким как Python и т. Д., То вам может показаться, что это проще, чем bash.
Не забудьте собрать сообщение журнала для каждой ревизии и добавить его при фиксации в новом репо. Большинство команд SVN используют опцию -r
, поэтому вы можете сделать что-то вроде svn log -r 334
, чтобы получить сообщение журнала только для версии 334.