❶ Linux中編譯安裝Subversion(SVN)客戶端的教程
Subversion(簡稱svn)是近年來崛起的版本管理軟體系統,是cvs的接班人。目前,絕大多數開源軟體都使用svn作為代碼版本管理軟體。
Subversion是一個版本控制系統,相對於的RCS、CVS,採用了分支管理系統,它的設計目標就是取代CVS。互聯網上免費的版本控制服務多基於Subversion。
Subversion的版本庫可以通過網路訪問,從而使用戶可以在不同的電腦上進行操作。從某種程度上來說,允許用戶在各自的空間里修改和管理同一組數據可以促進團隊協作。因為修改不再是單線進行(單線進行也就是必須一個一個進行),開發進度會進展迅速。此外,由於所有的工作都已版本化,也就不必擔心由於錯誤的更改而影響軟體質量如果出現不正確的更改,只要撤銷那一次更改操作即可。某些版本控制系統本身也是軟體配置管理系統(SCM),這種系統經過精巧的設計,專門用來管理源代碼樹,並且具備許多與軟體開發有關的特性比如,對編程語言的支持,或者提供程序構建工具。不過Subversion並不是這樣的系統。它是一個通用系統,可以管理任何類型的文件集。
Subversion 1.8中http客戶端基於neon已經被移除,改用self。如果要支持http方式需要在安裝svn前安裝serf,安裝serf推薦用serf-1.2.1,安裝是./configure;serf-1.3.0安裝是用scons(yum -y install scons)方式,安裝serf-1.3.0後安裝可能會報誤,Google沒找到解決方法,如下報錯
checking for serf-2 library... no
checking for serf-1 library... no
checking was serf enabled... no
An appropriate version of serf could not be found, so libsvn_ra_serf
will not be built. If you want to build libsvn_ra_serf, please
install serf 1.2.1 or newer.
configure: error: Serf was explicitly enabled but an appropriate version was not found.
安裝步驟:
(本文只基於LAMP一鍵安裝包環境部署好之後進行)
1. 安裝apr、apr-unit
復制代碼
代碼如下:
cd /root/lamp/source2. 安裝serf-1.2.1
復制代碼
代碼如下:
yum -y install expat-devel3. 安裝svn
復制代碼
代碼如下:
tar xzf subversion-1.8.1.tar.gz4. 檢查是否安裝成功
安裝成功會在/usr/local/apache/conf/httpd.conf自己加入下面2行
復制代碼
代碼如下:
LoadMole dav_svn_mole /usr/local/subversion/libexec/mod_dav_svn.so檢查svn是否支持http方式:
復制代碼
代碼如下:
# svn --versionsvn, version 1.8.1 (r1503906)
compiled Aug 2 2013, 11:36:48 on x86_64-unknown-linux-gnu
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) moles are available:
* ra_svn : Mole for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Mole for accessing a repository on local disk.
- handles 'file' scheme
* ra_serf : Mole for accessing a repository via WebDAV protocol using serf.
- handles 'http' scheme
- handles 'https' scheme