alvas
alvas

Reputation: 122330

Checking out with an older version of SVN on server

I have tired checking out this repository but due to the difference in SVN version on host and client machine, it returns a decompression error:

$ svn co http://svn-rdlab.cs.upc.edu/subversion/asiya/public asiya
...
A asiya/bin/Asiya.pl
svn: E120104: ra_serf: An error occurred during decompression

And it seems like the decompression error comes from different SVN versions on host and client machine, similar to this problem: Cannot svn update, An error occurred during decompression

The solution was to use the same version of SVN on the client (as suggested by the developers http://nlp.lsi.upc.edu/redmine/boards/12/topics/135)

But how could i use an older version of SVN to checkout the repo?

And if there is a need to change the version of SVN and then how do I change it back to the current version?

The current SVN version on the server is:

subversion 1.6.17

and the client version is:

svn, version 1.8.8

Upvotes: 2

Views: 3061

Answers (2)

alvas
alvas

Reputation: 122330

To install the older version while not screwing up the version in the /usr/local/lib:

mkdir oldsvn
cd oldsvn
sudo apt-get install libssl-dev
wget https://archive.apache.org/dist/subversion/subversion-1.7.18.tar.gz
tar -xvf subversion-1.7.18.tar.gz
cd subversion-1.7.18
./get-deps.sh
cd neon
./configure
make 
sudo make install
cd ..
./configure --with-prefix=/home/alvas/oldsvn/ --with-neon
make
sudo make install

To check that both versions exists:

$ cd /home/alvas/oldsvn/bin
alvas@ubi:~/oldsvn/bin$ ./svn --version
svn, version 1.7.18 (r1615261)
alvas@ubi:~/oldsvn/bin$ svn --version
svn, version 1.8.8 (r1568071)

And to checkout the repo:

alvas@ubi:~/oldsvn/bin$ ./svn co http://svn-rdlab.cs.upc.edu/subversion/asiya/public ~/asiya

Upvotes: 3

alroc
alroc

Reputation: 28194

The issue is with the HTTP client libraries used by each version. 1.8.x is using serf, 1.6 is likely using neon by default. I had this problem a few years ago but don't have my notes on how I fixed it anymore, so here's what I can remember.

The best option is to upgrade your server; 1.6.x is no longer supported and there are security fixes in newer versions (the 1.6.x line went all the way to 23 with security fixes). Yes, I understand that upgrading a piece of infrastructure like this is not a small undertaking, but it's part of keeping your environment healthy.

There is a mod_dav_svn configuration directive you can try on the server; setting SVNCompressionLevel to 0 will tell the server to not use compression.

Failing those, you can try to force the client to use the neon library by editing ~/.subversion/servers, in the [global] section, setting http-library = neon. This may not work if that library isn't included in your build (quite likely).

Upvotes: 3

Related Questions