Details
-
Bug
-
Status: Open
-
Blocker
-
Resolution: Unresolved
-
1.6.x
Description
We're using the CollabNet 1.6.1 suite Apache/WebDAV on two servers in a master/mirror setup. If we commit to the mirror a file containing the string "/SVN", the master replies with "svn: Checksum mismatch, file..." -- the file was mangled en route. Wireshark says that the mirror rewrote the string "/SVN" to the string "/svn" inside the file being committed, thereby perturbing the checksum. Initial research points to dav_svn__location_body_filter... http://svn.collab.net/viewvc/svn/trunk/subversion/mod_dav_svn/mirror.c?revision=36159 ...which seems to be doing a case-insensitive search-and-replace from "remotepath" -- the path component of the master server URI ("/svn" in our case) -- to "localpath" -- apparently the root of the repository as the mirror knows it (also "/svn" in our case). About a month ago (~ 25 June), I posted a note to the dev@ list and got this from David Glasser: <blockquote> This does look pretty nasty. Like, "don't use this feature, it will corrupt your data" nasty. That filter is under-documented; I'm not sure what it's trying to convert. I suppose URLs in the metadata of requests. Justin, this is your code, right? </blockquote> That was the last we heard about this issue. In practice, the checksum prevents data corruption, and you can work around it by committing directly to the master. But it's still annoying -- especially if you don't already know what the problem is. :)
Original issue reported by sbeasley