SVN Repository Explodes, No Serious Injuries
by Annika Backstrom in misc, on 27 December 2007. It is tagged and #Computers.
One of my Subversion repositories blew up today. During updates and checkouts, I started getting this error:
annika@shed:~/documents/people$ svn up svn: Checksum mismatch on rep '32i': expected: 1cd48bbb9a07b5ab299172917fdf7d2f actual: 2d1ddccd04a393cab4e3594e631a1560
I searched around and found some fixes involving db_dump and db_recover, but these just resulted in PANIC error messages and suggestions that I should run db_recover. Apparently there are some admitted flaws in Subversion's use of the Berkeley DB libraries, and new stores are fsfs by default. I've switched the offending repository to fsfs and things are working much better now. Didn't even have to recreate my working directories. Here's the code, in case that link dies:
svnadmin create --fs-type=fsfs fsfs-repo svnadmin dump repo | svnadmin load fsfs-repo mv repo backup-repo mv fsfs-repo repo
TODO: grab a copy of svn-fast-backup for repository backups.