I've got a Subversion repository that our Atlassian Fisheye instances nearly chokes on because of some accidental commits + backouts ( i.e., someone tagged the entire repository instead of just /trunk, and on more than one occasion). So what I want to do is audit the repo for larger-than-average commits, and carry out a dump+load to remove the bad commits using svndumpfilter. I'm having a little trouble getting the size of each revision though. I'm nearly there. I've got the following which determines the size of each revision visible using svn log with a trunk checkout:
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
However, because the bad commits happened outside the trunk, running svn log on the working copy (of trunk) does not list them. Instead I need the functionality of svn log to run repository wide. I COULD check-out the entire repository, but I don't have the days/weeks necessary to check-out all tags+branches. Can anyone help me here?