Accessing really old SVN repo

2018-04-10 Thread "Zow" Terry Brugger

Good day,

I have a SVN repo that I probably have not touched in seven or eight 
years (and I won't claim that the server was up to date at that time). I 
have mounted the disk with the repo on a new server (Ubuntu 16), but am 
having some issues accessing the contents. Here is the repo info:

$ svnadmin info /home/repos
Path: /home/repos
UUID: 8a0b9f2b-ae37-0410-8d94-9d817d00ed75
Repository Format: 3
Compatible With Version: 1.1.0
Filesystem Type: fsfs
Filesystem Format: 1
FSFS Sharded: no
FSFS Logical Addressing: yes
Configuration File: /home/repos/db/fsfs.conf

But if I try to do a checkout of it:
$ svn co file:///home/repos
svn: E125012: Invalid character in hex checksum

And if I try to do the same from my workstation:
$ svn co svn+ssh://svnserver/home/repos
svn: E125012: Invalid character in hex checksum

At least that's consistent. Consequently I went to check the integrity 
of the repo:

zow@ten:~/convert 791 $ svnadmin verify /home/repos
* Error verifying revision 0.
svnadmin: E24: Could not convert '/


17' into a number

Well, that does not seem good. So I did some investigation and it 
sounded like old versions of repos need to be upgraded to work with the 
latest svn clients, and the safe way to do this is to dump and load the 
repo, but when I try to do that:

$ svnadmin dump /home/repos > /tmp/repos.dump
* Dumped revision 0.
svnadmin: E160004: Invalid revision footer

I did a lot of searching on these errors as well as looking for 
information on accessing old SVN repos to no avail, which seems odd 
given that SVN has been around a while now, I would expect more people 
to hit these sorts of issues. I am running

$ svn --version
svn, version 1.9.3 (r1718519)
   compiled Aug 10 2017, 16:59:15 on x86_64-pc-linux-gnu
on both my server and workstation.

Any thoughts on how I can access this repo? If it looks like something 
broken, how about at least accessing the HEAD?


I am not subscribed, so I would appreciate a cc on any responses!

Thanks in advance!
Terry


Re: Accessing really old SVN repo

2018-04-10 Thread Stefan Hett

Hi,

On 4/10/2018 8:09 PM, "Zow" Terry Brugger wrote:

Good day,

I have a SVN repo that I probably have not touched in seven or eight 
years (and I won't claim that the server was up to date at that time). 
I have mounted the disk with the repo on a new server (Ubuntu 16), but 
am having some issues accessing the contents. Here is the repo info:

$ svnadmin info /home/repos
Path: /home/repos
UUID: 8a0b9f2b-ae37-0410-8d94-9d817d00ed75
Repository Format: 3
Compatible With Version: 1.1.0
Filesystem Type: fsfs
Filesystem Format: 1
FSFS Sharded: no
FSFS Logical Addressing: yes
Configuration File: /home/repos/db/fsfs.conf
This doesn't look quite right to me at first glance... FSFS logical 
addressing was added in 1.9 and was certainly not available with format 
3 then. That might however just be an issue with the presented output 
not being correct rather than pointing to some actual issue.




But if I try to do a checkout of it:
$ svn co file:///home/repos
svn: E125012: Invalid character in hex checksum

And if I try to do the same from my workstation:
$ svn co svn+ssh://svnserver/home/repos
svn: E125012: Invalid character in hex checksum

At least that's consistent. Consequently I went to check the integrity 
of the repo:

zow@ten:~/convert 791 $ svnadmin verify /home/repos
* Error verifying revision 0.
svnadmin: E24: Could not convert '/


17' into a number

Well, that does not seem good. So I did some investigation and it 
sounded like old versions of repos need to be upgraded to work with 
the latest svn clients, and the safe way to do this is to dump and 
load the repo, but when I try to do that:

$ svnadmin dump /home/repos > /tmp/repos.dump
* Dumped revision 0.
svnadmin: E160004: Invalid revision footer

I did a lot of searching on these errors as well as looking for 
information on accessing old SVN repos to no avail, which seems odd 
given that SVN has been around a while now, I would expect more people 
to hit these sorts of issues. I am running

$ svn --version
svn, version 1.9.3 (r1718519)
   compiled Aug 10 2017, 16:59:15 on x86_64-pc-linux-gnu
on both my server and workstation.

Any thoughts on how I can access this repo? If it looks like something 
broken, how about at least accessing the HEAD?


I am not subscribed, so I would appreciate a cc on any responses!

Thanks in advance!
Terry

I recall there' were some fixes related to some old repositories in 1.10 
(which is currently in RC2) but skimming quickly through it I didn't 
find a related note in the changelog directly.


Still, maybe worth a shot to see what svnadmin verify reports with the 
1.10-version. If you have a windows machine, there's a prebuild 1.10 
build available here [1] (disclaimer, I'm the maintainer/developer 
behind that one). I'd also have a prebuild 1.10.0-rc2 build lying around 
which hasn't been released yet, but I'd be able to make it available to 
you, if that helps.


[1] http://www.luke1410.de/typo3/index.php?id=97

--
Regards,
Stefan Hett, Developer/Administrator

EGOSOFT GmbH, Heidestrasse 4, 52146 Würselen, Germany
Tel: +49 2405 4239970, www.egosoft.com
Geschäftsführer: Bernd Lehahn, Handelsregister Aachen HRB 13473



Re: Accessing really old SVN repo

2018-04-10 Thread Evgeny Kotkov
Terry Brugger  writes:

> Any thoughts on how I can access this repo? If it looks like something
> broken, how about at least accessing the HEAD?

Subversion 1.9.3 had a bug where it made incorrect assumptions about old
repositories without a "db/format" file.  This is the most likely cause for
the errors you're seeing.

This bug has been fixed starting from version 1.9.5, so you might want
to try accessing the repository with a more recent version.  Alternatively,
you should be able to use any of the 1.8.x versions, as they didn't have
this bug.

If using a different version is unfeasible for any reason, you can try a
workaround by manually creating a "db/format" file containing "1\n" within
your repository.

Also, please note that dump and load is not required to access your data
(even for old repositories) with newer versions of Subversion, as these
newer versions are fully compatible with all previous repository formats
and can both read and write to them.

Hope this helps!


Regards,
Evgeny Kotkov


Re: Accessing really old SVN repo

2018-04-10 Thread "Zow" Terry Brugger

Any thoughts on how I can access this repo? If it looks like something
broken, how about at least accessing the HEAD?


Subversion 1.9.3 had a bug where it made incorrect assumptions about old
repositories without a "db/format" file.  This is the most likely cause for
the errors you're seeing.

This bug has been fixed starting from version 1.9.5, so you might want
to try accessing the repository with a more recent version.  Alternatively,
you should be able to use any of the 1.8.x versions, as they didn't have
this bug.


Stefan also suggested a more recent version. I built 1.10.0-rc2 from the 
source tarball, the repo now verifies clean, and I am able to perform a 
checkout. Based on those data points I believe that should take care of it.


Thank you both for your insight and suggestions!!!

Terry