I have a master & slave server, in US and India. They are both 1.6.12, but the slave was 1.5.7 until a few days ago.
The master is at rev 5050, but the slave will only sync up to rev 5045. Every time it tries to sync 5046, I get a checksum error in the apache error_log. It says some file fails md5. In order to figure out where the corruption is, I tried using a svn client, to simply checkout that file from the master, rev 5044, 5045, 5046. Had no problem. Correct me if I'm wrong, but, if the corruption were on the server, I should have gotten the error during that operation, right? Does the svn sync slave do md5 checksums that the svn client doesn't do? If I restore the slave from backup, and re-try the sync, it consistently fails at 5045 trying 5046, and always the same file, and always the same mismatched checksum. Since we're drawing the conclusion that the corruption is in the slave, it must mean that a past rev of something was corrupted and undetected. In fact, when I upgraded from 1.5.7 to 1.6.12, I did a dump & load. So it seems, if I had silently corrupted on-disk, I should have discovered the problem at that time, right? Unless perhaps ... 1.5 didn't do checksums so the 1.6 dump & load has nothing from the past to verify... Does 1.6 do some new md5 checksumming that 1.5 didn't do? Anyway, I'm transferring a new fresh copy of the repo to the slave. I figure this should fix it. But I'm extremely curious how this all happened.