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

Re: corrupted text-base files not being detected and/or repaired

From: Ben Collins-Sussman <sussman_at_red-bean.com>
Date: 2007-06-18 13:18:37 CEST

On 6/18/07, Richard Carlsson <richard.carlsson@iar.se> wrote:

> We just had a situation which caused some of our developers to start
> wondering whether they can really trust Subversion at all. One of our
> lead developers had been preparing an internal release, doing some
> tagging and switching, and somehow his working copy got broken: one
> text-base file was not up to date with respect to the repository version
> that it claimed to be. But everything seemed just dandy, so he created a
> release package and published it. It was soon discovered that there was
> a fatal error in the package, and he tracked down the out-of-sync file.

I think we need more information here. We *do* watch the text-base
files very carefully for corruption. If you look in the .svn/entries
file, we store a checksum of each text-base file. This allows us to
very specifically detect those times when the text-base file randomly
mutates (perhaps a bad tool changes it, or something.) When that
happens, you'll see a real text-base checksum error when attempting to
commit or update, and the operation will abort. You claim that one
can "manually change a text-base file" and nothing will notice the
problem, but that's not true. Try it now. I just tried it myself.

In any case, your scenario sounds like something more subtle, that the
text-base file was a correct copy of version X of the file, but the
.svn/entries file believed the text-base to be version Y? We've
never heard of such a bug before. How did you come to this
conclusion? Is there any way to reproduce?

What you're describing isn't a corruption in the text-base file
itself, but a corruption of the .svn/entries metadata. I don't even
know if that sort of thing is repairable, save some sort of crazy
verification tool that reports every text-base checksum to the server.

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 18 13:18:38 2007

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.