Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any way to run svn log on an entire repository (not just a checkout of trunk) without having to check it out?

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?

like image 940
David Corley Avatar asked Aug 20 '10 11:08

David Corley


1 Answers

Sure, you can specify an URL to svn log:

svn log svn://server/repo
like image 59
Greg Hewgill Avatar answered Sep 22 '22 03:09

Greg Hewgill