[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

bug: mirror WebDAV munging checkins containing "/SVN"

From: Shane Beasley <shane.beasley_at_aleri.com>
Date: Fri, 19 Jun 2009 16:07:33 -0700

We're using the CollabNet 1.6.1 suite Apache/WebDAV on two servers in a
master/mirror setup. Recently, one of us tried to commit to the mirror a
file that contained the string "/SVN". The master replied with an "svn:
Checksum mismatch, file..." error -- apparently the file was mangled en
route.

Using Wireshark, we found that the mirror was rewriting 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

It 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). I suspect that it's doing
this search-and-replace against the file we're committing, in which case
presumably it shouldn't be doing that -- although I'm not sure what it's
supposed to be doing instead.

I suspect that our particular case can be fixed by removing the
case-sensitivity check, but that's obviously a hack. :) Any better ideas?

Thanks!

Shane

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2363710
Received on 2009-06-20 01:27:15 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.