在centos上编译安装subversion

目前服务器版本1.4.2,客户端是1.5.x,在进行svn update –depth=immediates 比较慢,网上search了一下,有文指出是因为版本的问题,言1.4.x的svn不支持depth,因此1.5.x的客户端的depth只是客户端的实现,而实际还是有冗余的信息从服务器传递过来。
于是,给centos安装新版本的subversion,这里记录一下下:

首先当然是从官网下个subversion:

axel “http://apache.etoak.com/subversion/subversion-1.7.2.tar.gz” -n 30
tar -xvf subversion-1.7.2.tar.gz
cd subversion-1.7.2

编译安装:
mkdir -p /opt/subversion/1.7.2
./configure –with-ssh –enable-maintainer-mode –prefix=/opt/subversion/1.7.2
报如下错误:
configure: error: Subversion requires SQLite
解决:
mkdir sqlite
cd sqlite
wget http://www.sqlite.org/sqlite-amalgamation-3070900.zip
unzip sqlite-amalgamation-3070900.zip
mv sqlite/sqlite-amalgamation-3070900 sqlite-amalgamation
./configure –with-ssh –enable-maintainer-mode –prefix=/opt/subversion/1.7.2
产生警告:
configure: WARNING: unrecognized options: –with-ssh
./configure –help,发现并没有这个option,估计是老版本才有的。因此,这里忽略
继续编译安装:
make
make install
接下来就是配置启动服务:
sudo vi /etc/xinet.d/svnserve
内容如下:
service svnserve
{
disable = no
port     = 3690
socket_type      = stream
protocol         = tcp
wait     = no
user     = lint
server   = /opt/subversion/1.7.2/bin/svnserve
server_args      = -i -r /path/to/svnrepos
}
sudo vim /etc/service, 加入如下两行:
    • svnserve        3690/tcp                        # Subversion
    • svnserve        3690/udp                        # Subversion
重启xinet服务
sudo service xinetd restart
在本地测试一下–depth:
svn checkout svn://…. –depth=immediates (速度完成,哈哈!!!)
参考:

发表评论