У меня есть репозиторий Subversion, в котором наши экземпляры Atlasian Fisheye почти задыхаются из-за некоторых случайных коммитов + резервных копий (т.е. кто-то помечает весь репозиторий вместо просто /trunk и не один раз). Итак, что я хочу сделать, это провести аудит репо для крупных транзакций и выполнить сброс + нагрузку, чтобы удалить плохие коммиты, используя svndumpfilter. У меня небольшие проблемы с размером каждой ревизии. Я почти там. У меня есть следующее, которое определяет размер каждой видимой ревизии, используя svn-журнал с проверкой внешней линии:
for r in `svn log -q | grep ^r | cut -d ' ' -f 1 | tr -d r`;
do echo "revision $r is " `svn diff -c $r | wc -c` " bytes";
done
Однако, поскольку плохие коммиты произошли за пределами соединительной линии, запуск svn log на рабочей копии (trunk) не перечисляет их. Вместо этого мне нужна функция svn log для работы с репозиторием. Я МОЖЕТ проверить весь репозиторий, но у меня нет дней/недель, необходимых для проверки всех тегов + веток. Может ли кто-нибудь помочь мне здесь?