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

Re: I've messed with the repository - how to recover?

From: Tino Schwarze <subversion.lists_at_tisc.de>
Date: Wed, 29 Sep 2010 10:12:08 +0200

Hi Daniel,

On Wed, Sep 29, 2010 at 09:43:19AM +0200, Daniel Shahaf wrote:

> > during preparing a CVS->Subversion conversion I've messed with the
> > repository. There are some post-conversion steps to get things into
> > shape and fix up certain shortcomings of the conversion. Since I didn't
> > want to convert the repository again (it takes about 12 hours), I
> > thought, I'd just remove all the after-conversion revisions from db/revs
> > and db/revprops and update db/current accordingly.
>
> What EXACTLY did you do? Did you
>
> assert(`svnlook youngest` == 115310)
> rm -f db/{revs,revprops}/115/115310
> echo 115309 > current

Exactly, just some more revisions. (Started at 115278, removed
everything up to 115361.)

> (And yes, this should work "in practice", though it is on the "don't try
> it at home" list)
>
> > Which went fine until some time later I've got messages like
> > * Verified revision 115301.
> > svnadmin: Corrupt representation '115310 0 81 20352 c424c0a7265e750bf498553ac60741b1 9a82bd0495ac67916ebaecee4212668344eb6446 115301-2h1d/_8'
> > svnadmin: Malformed representation header
> > (this was from running svnadmin verify after I saw similar messages)
> >
> > It looks like there are revisions which refer to future revisions.
>
> That's... weird.
>
> > Did I
> > miss something? I've seen rep-cache.db hanging around - might this have
> > caused problems since it still contained references to revisions I've
> > removed? According to
> > http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure
> > it is safe to remove the rep-cache.db I'd just lose representation
> > sharing for my testing repository, right?
>
> You will lose the ability for future revisions to re-use the reps
> indexed in the database. Existing rep sharing will not be affected.
>
> If you'd like to disable rep-sharing, then use the fsfs.conf file, or
> create a format-3 filesystem (via 'svnadmin create --pre-1.5-compatible')

I don't want to disable rep-sharing. I just wondered whether rep-sharing
might have introduce these pointers to future revisions since there
might have been references to 115310 in rep-cache.db which got reused?

Maybe I'll try removing >115278 again, then delete rep-cache.db, then
perform all those steps again...

Thanks,

Tino.

-- 
"What we nourish flourishes." - "Was wir nähren erblüht."
www.tisc.de
Received on 2010-09-29 10:12:45 CEST

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