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