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

svn repo corruption question

From: Mojmír Svoboda <Mojmir.Svoboda_at_warhorsestudios.cz>
Date: Tue, 4 Dec 2012 15:17:38 +0000

Hello,

to begin with quote:
- HOLLY: I've got to admit it, I've flamingoed-up.
- RIMMER: What?
- HOLLY: It's like a cock-up, only much, much bigger.

This is my situation:
I've tried to move repository from older machine (centos5) to new one without
anyone noticing of course.

So I created new virtual linux server (centos6) in hyper-v and preinstalled
vertsion of collabnet with subversion. Then I (thought) shutted down the
collabnet on the older server and started to copy the repository data.
Everything seemed tip top and peachy.

This morning I discovered I'm missing three revisions, because I think I
shutted down only csvn, still allowing users to commit files via still running
csvn-httpd. At least I think it happened this way.

But in the meanwhile, someone commited in both repositories. In the old
one because of running apache, in the new one because I thought I
So I dumped the 3 revisions from old machine and loaded them to
new one. Everything went good, at least judging from output.

Then I got a paranoia attack and started to verify the repository
and this is what I get now:

[svn_at_svn data]$ svnadmin verify . -r 4477
* Verified revision 4477.
[svn_at_svn data]$ svnadmin verify . -r 4478
svnadmin: E160004: Reading one svndiff window read beyond the end of the representation
[svn_at_svn data]$ svnadmin verify . -r 4479
svnadmin: E160004: Corrupt representation '4478 0 735 68578 hash hash 4478-40f/_8'
svnadmin: E160004: Malformed representation header at db/revs/4/4478:23
[svn_at_svn data]$ svnadmin verify . -r 4480
svnadmin: E160004: Corrupt representation '4479 0 32 3083 hash hash 4479-40g/_9'
svnadmin: E160004: Malformed representation header at db/revs/4/4479:23
[svn_at_svn data]$ svnadmin verify . -r 4481
* Verified revision 4481.

So what now?

I can take the thing from backup and let users re-do few commits, but i am
worried about the consistency if their workspaces and server repository,
because it was running in that state at least half a day. Do I have to tell
them to drop all their workspaces? Does everyone have to checkout fresh repo?

So my question is basicly what happens when they have commits in their local
working areas that will not on the server when I finish the recovery from tapes?

Many thanks in advance,
Mojmir
Received on 2012-12-04 16:18:18 CET

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

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