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

Re: Repo is missing 1 rev - is everything irretrieveable?

From: Ryan Schmidt <subversion-2009b_at_ryandesign.com>
Date: Sun, 16 Aug 2009 17:37:51 -0500

On Aug 16, 2009, at 16:14, Tony Haddon wrote:

> I'm not an expert subversion user by any means, and I now have a big
> problem. Revision 1 (I really don't know how) somehow went missing
> from my
> repo at some time. My backup holds no sign of it. I posted the
> following at
> the url below:
> http://www.svnforum.%e2%80%8borg/2017/viewtopic.php?p=25506#25506
> ----
> I have an old a repo folder which ran on Subversion for Win32, version
> 1.3.2. This repo was never dumped - I just have the actual repo
> folders.
> I seem to be able to access the repo on my new machine which is
> running
> version 1.5.6.... HOWEVER it only seems to see revision 0, which
> doesn't
> have anything in it! I have checked the db/revs folder and, horror of
> horrors, theres no rev 1. I have 0,2,3,4... all the way to 130. I
> have no
> idea how I might have lost that file - but that's irrelevant. The
> revprop
> folder seems to be complete, whether that's of any use or not, I don't
> know...
> I have tried verifying - which it completes happily on rev 0
> I have tried recovering - which it completes happily and reports
> that latest
> rev is 0
> I have tried crazy stuff to see if it will work. I won't embarass
> myself by
> going into any detail.
> Can anyone either confirm for me that my repo is irretrieveable, or
> let me
> know if there's anything I can do to get access to this data.
> ANY help would be greatly appreciated.
> ----
> Some people tried to help me out, but I haven't gotten to the
> bottom of the
> problem.
> Is my data totally irretrieveable? I find it hard to believe that I
> have 129
> of 130 revs but can access none of it. Is this so?

You have posted this question here before:


It would be helpful to know what suggestions you have already tried
and what the result was, so that we don't spend time suggesting the
same things to you again.

Revisions build on previous revisions. (For more information, read up
on the skip-deltas algorithm.) So it's possible, even likely, that
some of your revisions 2 thru 130 depend on the missing revision 1,
and are therefore unusable. I would suggest you try dumping each
revision by itself, e.g.

svnadmin dump -r2 /path/to/repo > dump2
svnadmin dump -r3 /path/to/repo > dump3
svnadmin dump -r4 /path/to/repo > dump4

etc. through 130.

Some (maybe even many) revisions will not be able to be dumped
because they depend on the data in the missing revision 1. But
hopefully some revisions will be standalone and you'll be able to get
some of your data dumped.

Once you have a set of successfully-created dumpfiles, load them
sequentially into a new repository create with

svnadmin create /path/to/newrepo

Use the --ignore-uuid switch to svnadmin load when you load the first
dumpfile to ensure that your old repository's UUID doesn't get
assigned to this new repository.

svnadmin load /path/to/newrepo --ignore-uuid < dump2
svnadmin load /path/to/newrepo < dump3
svnadmin load /path/to/newrepo < dump4


If you cannot get the data you need this way, try opening the
revision files themselves in a text editor. It'll be messy, but you
might be able to retrieve bits of your files that way.

* * *

After writing the above, I checked your forum posting from July,
where you explained you had already tried dumping individual
revisions but are informed that the youngest revision is 0. So you
are not only missing the revision 1 data file, but your repository
also thinks revision 0 is the youngest revision. I believe the file
"current" in the directory "db" in your repository directory contains
the number of the youngest revision. Presumably this file contains
the string "0" in your repository, and you could try changing it to
the string "130" to see if that lets you save some of its revisions.

Well, in some of my repositories the db/current file contains the
youngest revision. In other repositories, it contains this, and then
two other values which I don't know about.

Of course, do any of these steps on a copy of the repository.


To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-08-17 00:38:54 CEST

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.