You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Jason E. Stewart" <ja...@gmail.com> on 2007/04/30 12:12:11 UTC
Attempt to recover ancient repository (version 2)
Hi,
I recently recovered a bunch of data from an old computer and wanted to
get the data out of my old SVN repos.
The problem is it appears to have been made with an ancient version:
[jasons@minotaur ~]$ svnadmin --version
svnadmin, version 1.4.3 (r23084)
compiled Mar 16 2007, 13:24:32
[jasons@minotaur ~]$ svnadmin dump ./svn > ./genex-svn.dump
svnadmin: Expected repository format '3' or '5'; found format '2'
according to:
http://svn.collab.net/repos/svn/trunk/notes/repos_upgrade_HOWTO
that means SVN between 0.28 and 0.33.1.
So I tried using 0.29 up to 0.32.1 but they all give trouble:
[jasons@minotaur ~]$ /x1/usr/local/svn-install/svn-r7628/bin/svnadmin
--versionsvnadmin, version 0.32.1 (dev build)
compiled Nov 3 2003, 22:04:42
[jasons@minotaur ~]$ /x1/usr/local/svn-install/svn-r7628/bin/svnadmin
dump ./svn > ./genex-svn.dump
svnadmin in free(): warning: chunk is already free
svnadmin in free(): warning: chunk is already free
svn: Berkeley DB error
svn: Berkeley DB error while opening environment for filesystem ./svn/db:
DB_RUNRECOVERY: Fatal error, run database recovery
So i tried svnadmin recover but got a fatal error:
[jasons@minotaur ~]$ /x1/usr/local/svn-install/svn-r7628/bin/svnadmin
recover ./svn
Acquiring exclusive lock on repository db.
Recovery is running, please stand by...svnadmin in free(): warning: page
is already free
svnadmin in free(): warning: chunk is already free
svnadmin in free(): warning: chunk is already free
svnadmin in free(): warning: page is already free
svnadmin in free(): warning: chunk is already free
svnadmin in free(): warning: chunk is already free
svn: Berkeley DB error
svn: DB_RUNRECOVERY: Fatal error, run database recovery
So I try to run db_recover, but i found that the log files were not
writeable by me, so i had to change the permissions. After that
db_recover runs fine:
[jasons@minotaur ~]$ /x1/usr/local/bin/db41_recover -c -v -h ./svn/db
db_recover: Finding last valid log LSN: file: 360 offset 589628
db_recover: Recovery starting from [1][28]
db_recover: Recovery complete at Mon Apr 30 04:30:59 2007
db_recover: Maximum transaction ID 80283413 Recovery checkpoint
[360][589628]
db_recover: Recovery complete at Mon Apr 30 04:30:59 2007
db_recover: Maximum transaction id 80000000 Recovery checkpoint
[360][589628]
But svnadmin recover still gives a fatal error:
[jasons@minotaur ~]$ /x1/usr/local/svn-install/svn-r7628/bin/svnadmin
recover ./svn
Acquiring exclusive lock on repository db.
Recovery is running, please stand by...svnadmin in free(): warning: page
is already free
svnadmin in free(): warning: chunk is already free
svnadmin in free(): warning: chunk is already free
svnadmin in free(): warning: page is already free
svnadmin in free(): warning: chunk is already free
svnadmin in free(): warning: chunk is already free
svn: Berkeley DB error
svn: DB_RUNRECOVERY: Fatal error, run database recovery
AAAAHHH!!!!!!!
please help. i've googled for hours trying to find something to fix this.
one suspicion i have is that somehow my chmod'ing the files to get
db_recover to work left them too permissive for svnadmin. But trying to
use svn ls file:///home/jasons/svn gave the same results...
I tried to ensure that svn was loading the proper libraries by setting
LD_LIBRARY_PATH but that may also be the problem...
all help appreciated. jas.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Attempt to recover ancient repository (version 2)
Posted by Ryan Schmidt <su...@ryandesign.com>.
On May 7, 2007, at 05:01, Jason E. Stewart wrote:
>>> [jasons@minotaur ~]$ /x1/usr/local/svn-install/svn-r7628/bin/
>>> svnadmin dump ./svn > ./genex-svn.dump
>>> svnadmin in free(): warning: chunk is already free
>>> svnadmin in free(): warning: chunk is already free
>>> svn: Berkeley DB error
>>> svn: Berkeley DB error while opening environment for filesystem ./
>>> svn/db:
>>> DB_RUNRECOVERY: Fatal error, run database recovery
>>
>> Are you using the same old version of BerkeleyDB that you were
>> using when the repository was in use? Newer versions may not be
>> compatible anymore.
>
> How do I tell the BDB version of the repository? Does one of the
> BDB tools do that (db_stat?).
I do not know... I don't use BDB.
> I just discovered that the BDB files are endian dependant - the old
> machine I had it on was little-endian, and my machine at home is
> big-endian and the svn tools at home all complain that the magic
> number on the BDB files is wrong. Can that be fixed easily?
Oh dear. As far as I know, you will only be able to use your BDB
files on a machine of the same endianness. For moves between
processor architectures, and perhaps even between BDB versions, you
will need to dump (on the old setup) and load (on the new one).
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Attempt to recover ancient repository (version 2)
Posted by "Jason E. Stewart" <ja...@gmail.com>.
Hey Ryan,
Ryan Schmidt wrote:
> On Apr 30, 2007, at 07:12, Jason E. Stewart wrote:
>
>> [jasons@minotaur ~]$ /x1/usr/local/svn-install/svn-r7628/bin/svnadmin
>> dump ./svn > ./genex-svn.dump
>> svnadmin in free(): warning: chunk is already free
>> svnadmin in free(): warning: chunk is already free
>> svn: Berkeley DB error
>> svn: Berkeley DB error while opening environment for filesystem ./svn/db:
>> DB_RUNRECOVERY: Fatal error, run database recovery
>
> [snip]
>
> Are you using the same old version of BerkeleyDB that you were using
> when the repository was in use? Newer versions may not be compatible
> anymore.
How do I tell the BDB version of the repository? Does one of the BDB
tools do that (db_stat?).
I just discovered that the BDB files are endian dependant - the old
machine I had it on was little-endian, and my machine at home is
big-endian and the svn tools at home all complain that the magic number
on the BDB files is wrong. Can that be fixed easily?
Cheers, jas.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Attempt to recover ancient repository (version 2)
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Apr 30, 2007, at 07:12, Jason E. Stewart wrote:
> I recently recovered a bunch of data from an old computer and
> wanted to get the data out of my old SVN repos.
>
> The problem is it appears to have been made with an ancient version:
>
> [jasons@minotaur ~]$ svnadmin --version
> svnadmin, version 1.4.3 (r23084)
> compiled Mar 16 2007, 13:24:32
>
> [jasons@minotaur ~]$ svnadmin dump ./svn > ./genex-svn.dump
> svnadmin: Expected repository format '3' or '5'; found format '2'
>
> according to:
>
> http://svn.collab.net/repos/svn/trunk/notes/repos_upgrade_HOWTO
>
> that means SVN between 0.28 and 0.33.1.
>
> So I tried using 0.29 up to 0.32.1 but they all give trouble:
>
> [jasons@minotaur ~]$ /x1/usr/local/svn-install/svn-r7628/bin/
> svnadmin --version
> svnadmin, version 0.32.1 (dev build)
> compiled Nov 3 2003, 22:04:42
>
> [jasons@minotaur ~]$ /x1/usr/local/svn-install/svn-r7628/bin/
> svnadmin dump ./svn > ./genex-svn.dump
> svnadmin in free(): warning: chunk is already free
> svnadmin in free(): warning: chunk is already free
> svn: Berkeley DB error
> svn: Berkeley DB error while opening environment for filesystem ./
> svn/db:
> DB_RUNRECOVERY: Fatal error, run database recovery
[snip]
Are you using the same old version of BerkeleyDB that you were using
when the repository was in use? Newer versions may not be compatible
anymore.
--
To reply to the mailing list, please use your mailer's Reply To All
function
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org