Respostas:
A partir do Ubuntu 12.10, o Subversion 1.7 está disponível como parte da distribuição. O Subversion pode ser instalado usando o apt-get.
sudo apt-get install subversion
Para versões anteriores do Ubuntu, existe um ppa disponível no subversion-1.7 . O repositório pode ser adicionado da seguinte maneira:
sudo apt-add-repository ppa:dominik-stadler/subversion-1.7
Para obter a versão mais recente do subversion, atualize o repositório.
sudo apt-get update
sudo apt-get upgrade
Eu também precisava fazer uma atualização dist.
sudo apt-get dist-upgrade
Estou assumindo que você já possui o subversion instalado, se não:
sudo apt-get install subversion
svn cleanup [repo]
antes de atualizar da 1.6, porque o cliente svn 1.7 não limpará repositórios mais antigos. Após atualizar o cliente svn, execute svn upgrade [repo]
para atualizar os metadados para cada repositório. Mais detalhes stackoverflow.com/a/7754776/114900
Há também um ppa suportado diretamente pela equipe do subversion: equipe "Subversion" .
Você deve poder adicionar o ppa com o seguinte comando:
sudo apt-add-repository ppa:svn/ppa
O comando apt-add-repository é fornecido pelo pacote python-software-properties, portanto, certifique-se de instalá-lo primeiro.
Nota: O RabbitVCS parece ter um problema com o subversion 1.7: O Rabbitvcs não marca como subfodificadores / arquivos com versão no svn 1.7 . Isso foi corrigido no tronco, mas ainda não foi enviado para uma compilação.
O script Wandisco realmente instala um novo repositório que contém o arquivo .deb para instalar o SVN 1.7.
Quase o mesmo pode ser realizado executando os seguintes comandos:
sudo add-apt-repository 'deb http://opensource.wandisco.com/ubuntu lucid svn17'
sudo wget -q http://opensource.wandisco.com/wandisco-debian.gpg -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install subversion
sudo: add-apt-repository: command not found
mensagem de erro, precisará instalar o python-software-properties:sudo apt-get install python-software-properties
lucid
vez do seu nome de versão real. Eles fornecem apenas lançamentos para lucid
. E certifique-se de remover / comentar a deb-src
linha correspondente , /etc/apt/sources.list
se houver uma.
Ao usar o Trac Você pode perceber um problema após atualizar o seu Subversion usando o repositório WANdisco. Seu sintoma é uma mensagem no site do Trac:
Aviso: Não é possível sincronizar com o repositório "(padrão)" (Sistema de controle de versão não suportado "svn": Nenhum módulo chamado svn). Procure no log do Trac para obter mais informações.
Este pacote liga o svn ao python2.6 e o Ubuntu 12.04 possui o python2.7. Aqui está um script que resolveu o problema do meu lado:
mkdir /usr/lib/python2.7/dist-packages/libsvn
for f in /usr/lib/pyshared/python2.6/libsvn/*; do ln -s $f /usr/lib/python2.7/dist-packages/libsvn/; done
for f in /usr/share/pyshared/libsvn/*; do ln -s $f /usr/lib/python2.7/dist-packages/libsvn/; done
mkdir /usr/lib/python2.7/dist-packages/svn
for f in /usr/share/pyshared/svn/*; do ln -s $f /usr/lib/python2.7/dist-packages/svn/; done
mkdir /usr/lib/pyshared/python2.7/libsvn
for f in /usr/lib/pyshared/python2.6/libsvn/*; do ln -s $f /usr/lib/pyshared/python2.7/libsvn/; done
Eu usei binários wandisco com fontes apt, como Fernando descreveu, mas agora que a próxima versão do Ubuntu possui binários oficiais atualizados para 1,7, eu queria usá-los enquanto continuava com o 12.04 LTS.
Adicionadas as seguintes fontes em um novo arquivo /etc/apt/sources.list.d/svn17.list:
deb http://archive.ubuntu.com/ubuntu/ quantal main universe
deb-src http://archive.ubuntu.com/ubuntu/ quantal main universe
E então, de acordo com o conselho em https://help.ubuntu.com/community/PinningHowto um /etc/apt/apt.conf.d/90svn17:
APT::Default-Release "precise";
Em seguida, instalado usando
sudo apt-get install -V subversion -t quantal
Não tenho certeza se esses novos nomes de arquivos seguem as convenções apropriadas, mas funciona. Tentei fixar a configuração primeiro, mas sem sorte. Com "-t quantal", a fixação não era necessária.
Não acredite que exista .deb público disponível ainda. Você pode tentar este script para instalar o 1.7 da WANdisco
svn1.7_ubuntu_wandisco.sh
#!/bin/bash +x
# WANdisco Subversion Installer V0.1
# opensource@wandisco.com
echo WANdisco Subversion Installer v0.1 for Ubuntu 9.10, 10.04, 10.10
echo Please report problems and bugs to opensource@wandisco.com
echo
echo Gathering some information about your system...
MINVERSION='1'
SVNVER='1.7.0'
ARCH=`uname -m`
SVNSTATUS=`dpkg -l|grep " libsvn1 " | awk '{print $1}'`
#functions
check_is_root ()
{
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
}
svn_remove_old ()
{
echo Removing old packages...
apt-get -y remove libsvn1 subversion libapache2-svn libsvn-dev libsvn-doc libsvn-perl subversion-tools
}
add_repo_config ()
{
echo Adding repository configuration to /etc/apt/sources.list.d/
if [ -f /etc/apt/sources.list.d/WANdisco.list ]; then
rm /etc/apt/sources.list.d/WANdisco.list
fi
echo "Installing Apt repo...."
echo "# WANdisco Open Source Repo" > /etc/apt/sources.list.d/WANdisco.list
echo "deb http://opensource.wandisco.com/ubuntu lucid svn17" >> /etc/apt/sources.list.d/WANdisco.list
echo "Importing GPG key"
wget http://opensource.wandisco.com/wandisco-debian.gpg -O /tmp/wandisco-debian.gpg &>/dev/null
apt-key add /tmp/wandisco-debian.gpg
rm -rf /tmp/wandisco-debian.gpg
apt-get update
}
install_svn ()
{
echo Checking to see if you already have Subversion installed via dpkg...
if [ "$SVNSTATUS" == "ii" ]; then
echo
echo Subversion is already installed on the system.
echo Do you wish to replace the version of subversion currently installed with the WANdisco version?
echo This action will remove the previous version from your system.
echo -n "[y/N]: "
read svn_install_confirm
if [ "$svn_install_confirm" == "y" -o "$svn_install_confirm" == "Y" ]; then
svn_remove_old
add_repo_config
echo
echo Installing Subversion $SVNVER-$MINVERSION
echo
apt-get -y --force-yes install subversion libsvn-perl subversion-tools
echo -n "Would you like to install apache and the apache SVN modules? [y/N] "
read dav_svn_confirm
if [ "$dav_svn_confirm" == "y" -o "$dav_svn_confirm" == "Y" ]; then
echo Installing apache and subversion modules
apt-get -y --force-yes install apache2 libapache2-svn
echo -n "Installation complete. Restart apache? [y/N] "
read apache_restart_confirm
if [ $apache_restart_confirm == "y" -o $apache_restart_confirm == "Y" ]; then
/etc/init.d/apache2 restart
fi
fi
else
echo "Install Cancelled"
exit 1
fi
else
# Install SVN
echo "Subversion is not currently installed"
echo -n "Starting installation, are you sure you wish to continue? [y/N] "
read svn_install_confirm
if [ "$svn_install_confirm" == "y" -o "$svn_install_confirm" == "Y" ]; then
add_repo_config
echo
echo Installing Subversion $SVNVER-$MINVERSION
echo
apt-get -y --force-yes install subversion libsvn-perl subversion-tools
echo -n "Would you like to install apache and the apache SVN modules? [y/N] "
read dav_svn_confirm
if [ "$dav_svn_confirm" == "y" -o "$dav_svn_confirm" == "Y" ]; then
echo Installing apache and subversion modules
apt-get -y --force-yes install apache2 libapache2-svn libsvn-dev
echo -n "Installation complete. Restart apache? [y/N] "
read apache_restart_confirm
if [ $apache_restart_confirm == "y" -o $apache_restart_confirm == "Y" ]; then
/etc/init.d/apache2 restart
fi
fi
else
echo "Install Cancelled"
exit 1
fi
fi
}
install_32 ()
{
echo Installing for $ARCH
install_svn
}
install_64 ()
{
echo Installing for $ARCH
install_svn
}
#Main
check_is_root
echo Checking your system architecture.
if [ "$ARCH" == "i686" -o "$ARCH" == "i386" ]; then
install_32
elif [ "$ARCH" == "x86_64" ];
then
install_64
else
echo Unsupported platform: $ARCH
exit 1
fi