I'm trying to track a bug in svn. I need to be able to switch between svn 1.7.x and 1.8.x to try tests. I am using WANdisco's packages.
Ubuntu 12.10 \n \l
# WANdisco Open Source Repo deb http://opensource.wandisco.com/ubuntu precise svn18 deb http://opensource.wandisco.com/ubuntu precise svn17
I realise I am running Quantal but Precise is listed. This Works For Me (tm) as WANdisco doesn't have Quantal-specific packages.
When I have subversion=1.7.14-1+WANdisco installed I can
sudo apt-get install subversion sudo apt-get install subversion=1.8.5-1+WANdisco
and either brings me up to subversion 1.8.5-1+WANdisco no problem.
Going in the other direction is a major operation. After much trial and error, here's what I've discovered/concluded is a minimal working method for me:
sudo apt-get autoremove subversion sudo apt-get clean sudo vim /etc/apt/sources.list.d/WANdisco.list # deb http://opensource.wandisco.com/ubuntu precise svn18 sudo apt-get install subversion
As I understand this, I have to completely remove svn 1.8.5 and its dependencies (libsvn1), remove the svn 1.8.5 cached packages AND remove apt-get's knowledge that svn 1.8.x is even available. Only then will it deign to install 1.7.14.
My question is, when 1.8.5 is installed, why doesn't this
sudo apt-get install subversion=1.7.14-1+WANdisco
work? What I get is
user@user-VirtualBox:/etc/apt/sources.list.d$ sudo apt-get install subversion=1.7.14-1+WANdisco Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: subversion : Depends: libsvn1 (= 1.7.14-1+WANdisco) but 1.8.5-1+WANdisco is to be installed E: Unable to correct problems, you have held broken packages. user@user-VirtualBox:/etc/apt/sources.list.d$
I get the "is to be installed" unless I follow exactly all three steps above: autoremove, clean, comment out the package line.
I noticed that WANdisco's install script creates sources.list.d/WANdisco-svn1 so I tried using the two files instead of the one; the thinking being that perhaps line ordering in WANdisco.list was creating a priority order. That failed to downgrade in the same way. It seems that if apt-get has any knowledge that 1.8.5 exists, it will prefer that over 1.7.14.
If there's an easier way, I'd really like to know.