您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源配置管理工具 > SVN
關(guān)于Subversion系統(tǒng)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/2/21 14:31:54 ] 推薦標(biāo)簽:

多年來(lái),并發(fā)版本系統(tǒng)(CVS)一直是在Linux上管理代碼或者文本的標(biāo)準(zhǔn)。作為基于RCS上建立但卻允許多用戶協(xié)作的系統(tǒng)而言,CVS記錄所有文件的修改信息。這對(duì)于程序開(kāi)發(fā)者、網(wǎng)絡(luò)設(shè)計(jì)者和系統(tǒng)管理員而言,是非常有用的。
然而,CVS逐漸顯示出它的衰老,出現(xiàn)了相似的源代碼管理軟件。然而大多這種東西都是以牟利為主要目的的。
Subversion是一種相對(duì)新鮮的源代碼管理系統(tǒng)。雖然事實(shí)上它還在不斷的反展之中,但是Subversion已經(jīng)是一個(gè)非常穩(wěn)定而且成熟的產(chǎn)品。它是一個(gè)全新的系統(tǒng),其功能可以和CVS媲美,同時(shí),它要比CVS更直觀,更容易操作。本文Subversion的安裝和一些特殊功能作一個(gè)介紹。
安裝服務(wù)器端

下載Apache和SVN源碼包
從官方網(wǎng)站臺(tái)下載httpd-2.0.52.tar.gz,subversion-1.1.1.tar.gz

(因?yàn)閞edhat 9默認(rèn)安裝的Apache沒(méi)有并包含--enable-so選項(xiàng),所以無(wú)法產(chǎn)生mod_dav_svn.沒(méi)有這個(gè)模塊,SVN無(wú)法采用http方式運(yùn)行,所以必須重新編譯新的Apache)
以root身份執(zhí)行:
#tar zxvf httpd-2.0.52.tar.gz
#cd httpd-2.0.52
#./configure --enable-dav --enable-so --enable-maintainer-mode
#make
#make install
此時(shí)會(huì)產(chǎn)生/usr/local/apache2目錄,接著執(zhí)行:
#tar zxvf subversion-1.1.1.tar.gz
#./configure --with-apxs=/usr/local/apache2/bin/apxs
# rm /usr/local/lib/libsvn*
# make clean && make && make install

此時(shí)會(huì)自動(dòng)在/usr/local/apache2/conf/httpd.conf添加
LoadModule dav_svn_module  modules/mod_dav_svn.so
安裝完成后,運(yùn)行svnserver --version確認(rèn)版本為1.1.1。
SVN服務(wù)器安裝結(jié)束.

安裝客戶機(jī)端

window客戶機(jī):
直接安裝TortoiseSVN-1.1.1-UNICODE_svn-1.1.1.msi,方法同一般軟件安裝相同。
Linux客戶機(jī):
方法輿安裝服務(wù)器相同。
(注意redhat 9默認(rèn)安裝的SVN版本為0.17.1,它的客戶端命令svn無(wú)法輿新的SVN服務(wù)器通訊,必須重新安裝)

建立倉(cāng)庫(kù)Repository

Subversion 的檔案庫(kù)是個(gè)中央倉(cāng)儲(chǔ), 用來(lái)存放任意數(shù)量項(xiàng)目的受版本控管資料,建立方法很簡(jiǎn)單
#svnadmin create path/to/repos
舉個(gè)例子:
#svnadmin create /home/mysvn
#chown –R nobody /home/mysvn
運(yùn)行服務(wù)器

Subversion服務(wù)器有兩種運(yùn)行方式,一是可以作為Apache 2.0的一個(gè)模塊, 以WebDAV/DeltaV協(xié)議與外界連通;另外,也可使用Subversion 自帶的小型服務(wù)器程序svnserve。該程序使用的是自帶的通訊協(xié)議,可以很容易地透過(guò)SSH以
以http方式運(yùn)行
在/usr/local/apache2/conf/httpd.conf中加入:
<Location /svn/repository>
 DAV svn
 SVNPath /home/mysvn
</Location>
在服務(wù)器的瀏覽器中輸入網(wǎng)址:
http://localhost/svn/repository/
這時(shí)候,你會(huì)看到這樣的顯示:

這表明服務(wù)器已經(jīng)以http方式正常運(yùn)行了.
以svnserve方式運(yùn)行
這種方式的運(yùn)行又可以分為以下兩種(這和vsftp有些相似)
1) standalone mode
直接運(yùn)行 #svnserve –d
運(yùn)行 lsof -i :3690可以看到SVN服務(wù)器已經(jīng)在運(yùn)行
2) x.netd mode
在/etc/xinetd.d/下生成svnserve文件,內(nèi)容如下
service svnserve
{
disable = no
socket_type             = stream
protocol                 = tcp
wait                    = no
user                    = apache
server                  = /usr/local/bin/svnserve
server_args             = -i
}
編輯 /etc/services ?,加入底下兩行:
svnserve        3690/tcp                        # Subversion svnserve
svnserve        3690/udp                        # Subversion svnserve
重啟xinetd服務(wù),運(yùn)行 lsof -i :3690可以看到SVN服務(wù)器已經(jīng)在運(yùn)行

客戶機(jī)訪問(wèn)

客戶機(jī)的訪問(wèn)方法輿服務(wù)器的運(yùn)行方式有直接關(guān)系
window客戶機(jī):
1) 服務(wù)器以http方式運(yùn)行
安裝完TortoiseSVN-1.1.1-UNICODE_svn-1.1.1.msi后,在你想工作的目錄下點(diǎn)擊右鍵,執(zhí)行checkout,按上圖輸入即可。

2) 服務(wù)器以svnserve方式運(yùn)行
同上的區(qū)別只是URL of repository變?yōu)?svn://svn服務(wù)器ip/home/mysvn
或者 svn+ssh://svn服務(wù)器ip/home/mysvn
(注意不是//svn服務(wù)器ip//svn/repository)
linux客戶機(jī):
1) 服務(wù)器以http方式運(yùn)行
執(zhí)行 #svn checkout http: //svn服務(wù)器ip/svn/repository
2) 服務(wù)器以svnserve方式運(yùn)行
執(zhí)行 #svn checkout svn://svn服務(wù)器ip/home/mysvn
或者 #svn checkout svn+ssh://svn服務(wù)器ip/home/mysvn

客戶認(rèn)證機(jī)制

這輿服務(wù)器的運(yùn)行方式有關(guān)
服務(wù)器以http方式運(yùn)行
比如我們想給 Sally 與 Harry 送交存取檔案庫(kù)的權(quán)限. 首先, 我們必須把它們加入到密碼檔案.
# ### 第一次: 以 -c 建立檔案
# htpasswd -c /etc/svn-auth-file harry
New password: *****
Re-type new password: *****
Adding password for user harry
# htpasswd /etc/svn-auth-file sally
New password: *******
Re-type new password: *******
Adding password for user sally
#
接著,在/usr/local/apache2/conf/httpd.conf的加入:
<Location /svn/repository >
 DAV svn
 SVNPath /home/mycvs
 AuthType Basic
 AuthName "Subversion repository"
 AuthUserFile /etc/svn-auth-file
Require valid-user
</Location>

上一頁(yè)123下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd