This content has moved - please find it at https://devblog.cyotek.com.

Although these pages remain accessible, some content may not display correctly in future as the new blog evolves.

Visit https://devblog.cyotek.com.

Resolving SVN error "Could not open the requested SVN filesystem"

Recently I bought a Synology DS1821+ to complement a pair of long-in-the-tooth HP N40L micro servers running Windows. Although I originally bought it just for storage and "real" RAID, I found it such a delightful device that I decided that it should replace the micro servers completely. Prior to this I've never really used Docker, but the Synology DiskStation Manager (DSM) software makes it a breeze - in no time at all I had Jenkins and Gitea running on it via official packages, and a third party for SVN as I still have both a legacy and a "current" repository, the latter one that I'm piecemeal converting to git.

The only problem was, the truly ancient VB6 repository would load fine, but the "current" C# one failed when trying to access it:

Could not open the requested SVN filesystem

An unwelcome guest

I then had a rather frustrating session trying assorted fruitless attempts to get the repository accessible, copying it directly, doing svnadmin dump and svnadmin load, deleting Windows-based hooks, etc etc without success.

Seeing the light

Worried that the original repository was corrupt, I finally did a svnadmin verify on it, which passed with flying colours. However, when I tried the same command on my most recent clone, instead of the generic error I'd been getting with other commands I got something specific and helpful.

The error message to unlock the puzzle

svnadmin: E160043: Expected FS format between '1' and '7'; found format '8'

Now we're getting somewhere! It appears that the third party image I'm using isn't using an up to date version of SVN, but 1.9.7 from 6 years ago. Alas this blog doesn't support emoji otherwise there'd be a facepalm here for sure, both for this image being woefully out of date, and for me forgetting I wrote about how I upgraded my repository from an older version some years back.

I don't run software on the bleeding edge, but this is absurdly old

Making it go

When you create a repository via svnadmin create, there is a --compatible-version switch you can use to force an older version. So back on the Windows box I created a new repository, using the 1.7 format.

Creating a repository tailored for older versions of SVN

svnadmin create clone --compatible-version 1.7

I then loaded in a previous dump

svnadmin load clone < cyotekdump.svn

Once done, I zipped up the repository, dropped it on the NAS, deleted the "broken" clone, and extracted the zip in-situ. Then I re-ran the verify command and...

It works!

Huzzah! And the web interface works too.

It really works!

Closing Notes

Of course, once you look at the Edge and SSH screenshot you can see the same error code is present in both, not that I know SVN error codes off the top of my head! In addition I only used Edge to create the screenshots for this post, originally my testing was with Firefox - and this didn't show the XML at all, only the error text.

Although I have this working, it seems rather pointless having this shiny new device and then installing software on it that is obsolete and so I need to find a newer image. (Of course, I really should focus on migrating away from SVN as well!)

But I haven't blogged for a very long time and who knows, this particular information might help someone else down the line.

About The Author

Gravatar

The founder of Cyotek, Richard enjoys creating new blog content for the site. Much more though, he likes to develop programs, and can often found writing reams of code. A long term gamer, he has aspirations in one day creating an epic video game. Until that time, he is mostly content with adding new bugs to WebCopy and the other Cyotek products.

Leave a Comment

While we appreciate comments from our users, please follow our posting guidelines. Have you tried the Cyotek Forums for support from Cyotek and the community?

Styling with Markdown is supported