Accessing really old SVN repo
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
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
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
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