回答:
Ubuntu 12.10では、サブバージョン1.7はディストリビューションの一部として利用可能です。Subversionはapt-getを使用してインストールできます。
sudo apt-get install subversion
Ubuntuの以前のバージョンには、subversion-1.7で利用可能なppaがあります。リポジトリは次のように追加できます。
sudo apt-add-repository ppa:dominik-stadler/subversion-1.7
Subversionアップデートの最新バージョンを入手して、リポジトリをアップグレードするには。
sudo apt-get update
sudo apt-get upgrade
dist-upgradeも行う必要がありました。
sudo apt-get dist-upgrade
Subversionが既にインストールされていると仮定します(インストールされていない場合)。
sudo apt-get install subversion
svn cleanup [repo]
svn 1.7クライアントは古いリポジトリをクリーンアップしないため、1.6からアップグレードする前に忘れないでください。svnクライアントをアップグレードしたら、実行svn upgrade [repo]
して各リポジトリのメタデータをアップグレードします。詳細stackoverflow.com/a/7754776/114900
Subversionチームによって直接サポートされているppaもあります:"Subversion"チーム。
次のコマンドでppaを追加できるはずです。
sudo apt-add-repository ppa:svn/ppa
apt-add-repositoryコマンドはpython-software-propertiesパッケージで提供されるため、必ず最初にインストールしてください。
注:RabbitVCSには、Subversion 1.7に問題があるようです。Rabbitvcsは、svn 1.7でバージョン管理されたsubfodlers / filesとしてマークしません。これはトランクで修正されていますが、まだビルドにプッシュされていません。
Wandiscoスクリプトは、SVN 1.7をインストールするための.debファイルを含む新しいリポジトリを実際にインストールします。
以下のコマンドを実行することで、ほぼ同じことが実現できます。
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
、エラーメッセージを、あなたのpython-ソフトウェアの特性をインストールする必要があります:sudo apt-get install python-software-properties
lucid
、実際のリリース名の代わりに使用することです。のリリースのみを提供しますlucid
。そしてdeb-src
、/etc/apt/sources.list
もしあれば、対応する行を削除/コメントアウトしてください。
Tracを使用する場合、WANdiscoリポジトリを使用してSubversionをアップグレードすると問題が発生する場合があります。その症状はTracサイトのメッセージです:
警告:リポジトリ「(デフォルト)」と同期できません(サポートされていないバージョン管理システム「svn」:svnという名前のモジュールはありません)。Tracログで詳細を確認してください。
このパッケージはsvnをpython2.6にバインドし、Ubuntu 12.04にはpython2.7が含まれています。ここに私の側の問題を解決したスクリプトがあります:
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
Fernandoが説明したように、aptソースでwandiscoバイナリを使用しましたが、次のUbuntuバージョンは1.7に更新された公式バイナリを持っているので、12.04 LTSを使いながらそれらを使用したいと思いました。
新しいファイル/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
そして、https://help.ubuntu.com/community/PinningHowtoのアドバイスによると/etc/apt/apt.conf.d/90svn17:
APT::Default-Release "precise";
次にインストールして
sudo apt-get install -V subversion -t quantal
これらの新しいファイル名が適切な規則に従っているかどうかはわかりませんが、機能します。最初に設定を固定しようとしましたが、運がありませんでした。「-t quantal」ピン留めは不要でした。
まだ公開されている.debがあるとは思わないでください。このスクリプトを試して、WANdiscoから1.7をインストールできます。
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