技術(shù)分享: 如何使用SVN協(xié)議
本節(jié)和大家一起學(xué)習(xí)一下如何使用SVN協(xié)議訪問,這是在學(xué)習(xí)SVN過程中可能會遇到的問題,這里和大家分享一下,歡迎大家一起來學(xué)習(xí)SVN協(xié)議訪問方面的知識。
使用SVN的SVN協(xié)議訪問
昨天講解了Subversion的基本用法,其中把倉庫創(chuàng)建在與客戶端相同的機(jī)器上,使用file:///協(xié)議進(jìn)行上傳和修改的工作。實(shí)際上,更多時候,倉庫應(yīng)該放在另一臺遠(yuǎn)端服務(wù)器上的,在這兩端之間,是通過各種倉庫存取層(Repository Access,簡稱RA)的多條通道進(jìn)行訪問的。這些通道中,可以通過不同的網(wǎng)絡(luò)協(xié)議,例如HTTP、SSH等,或本地文件的方式來對倉庫進(jìn)行操作。
Subversion一般使用兩種后臺服務(wù)模式:一種是其自己實(shí)現(xiàn)的 svnserve,可以通過svn協(xié)議訪問,另一種是借助mod_dav_svn 模塊,由Apache http 服務(wù)器來實(shí)現(xiàn),然后通過HTTP或HTTPS協(xié)議來訪問。我將要介紹就是第一種方式。
一、svn協(xié)議
客戶端若要通過svn協(xié)議訪問倉庫,必須在存放倉庫的機(jī)器上運(yùn)行svnserve服務(wù)程序。啟動該程序后,會監(jiān)聽在3690端口,以響應(yīng)客戶端的訪問工作。
# svnserve -d -r /var/svn/repos
-d 表示以后臺模式運(yùn)行,-r 用于指定倉庫的位置。其余參數(shù),請用svnserve -h查看。
二、自動運(yùn)行svnserve服務(wù)
按照上面的命令,每次運(yùn)行svnserve都可以啟動該監(jiān)聽服務(wù),也可以放入/etc/rc.local中讓其在機(jī)器啟動后自動運(yùn)行。但是,一般我是不使用rc.local來管理類似的服務(wù)程序的,所以,我編寫了一個svnd腳本,將其放入/etc/rc.d/init.d目錄中,通過service或chkconfig進(jìn)行管理:
# service svnd start
# service svnd status
# service svnd stop
# chkconfig --level 35 svnd on
下載地址:
下載文件
點(diǎn)擊這里下載文件(源碼見最后附錄部分)。如果需要改變腳本中倉庫的默認(rèn)路徑,可以在/etc/sysconfig目錄中,定義一個svnd的文件,例如:
引用
# cat /etc/sysconfig/svnd
SVN_HOME=/opt/svn
這樣,在啟動svnd服務(wù)時,會自動使用該目錄作為-r參數(shù)的指定路徑。
◆ 對于其他的系統(tǒng)服務(wù),我都是建議使用相同的管理方式,即系統(tǒng)服務(wù)放在/etc/rc.d/init.d中,額外的參數(shù)放在/etc/sysconfig目錄下,這樣對統(tǒng)一管理會帶來很大的方便。請期待下節(jié)關(guān)于SVN協(xié)議訪問介紹。
【編輯推薦】
- 術(shù)語匯編:SVN版本控制詳解
- Windows下SVN使用手冊簡明介紹
- 名師推薦 SVN使用說明指導(dǎo)
- 名師課堂:Eclipse中安裝SVN版本控制插件方法詳解
- 學(xué)習(xí)筆記: 如何刪除SVN版本控制信息