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

Upgrading with checksum mismatch

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Tue, 18 Oct 2011 16:06:31 +0100

A number of users have reported upgrade problems like:

TortoiseSVN-1.7.0\ext\subversion\subversion\libsvn_wc\entries.c' line 1935: assertion failed (svn_checksum_match(entry_md5_checksum, found_md5_checksum))

As far as I can see this means that the 1.6 working copy is corrupt
because the text-base checksum doesn't match the checksum in the entries
file. (I don't think it's a missing checksum since in my tests such
working copies do upgrade.) During normal operation a corrupt checksum
can remain in a working copy undetected until update or commit attempts
to explicitly modify the file, but upgrade checks every checksum and
makes the problem visible.

1.7.x has a patch to include the filename in the error; I think this
will allow the user to do:

svn1.6 up -r0 wc/some/file
svn1.7 upgrade wc

since the update to r0 will remove the corrupt file (the next update
will pull it from the server). To do that the user needs access to a
1.6 client.

Perhaps upgrade should have an --upgrade-with-corrupt-checksums flag
that causes upgrade to insert not-present nodes, rather than normal
nodes, when a corrupt checksum is detetcted. This would be the
equivalent to the "up -r0" but without requiring a 1.6 client.

Or perhaps we should not attempt to support any use of corrupt working
copies/?

-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com
Received on 2011-10-18 17:07:09 CEST

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