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