Ubuntu下Subversion安裝之新手指南下篇
本文接著上篇文章繼續(xù)介紹Ubuntu下Subversion安裝問題,請您繼續(xù)關(guān)注。
6. 訪問方式
Subversion 文件倉庫可以通過許多不同的方式進(jìn)行訪問(Check Out,簽出)——通過本地硬盤,或者通過各種網(wǎng)絡(luò)協(xié)議。無論如何,文件倉庫的位置總是使用 URL 來表示。下表顯示了不同的 URL 模式對應(yīng)的訪問方法:
模式
訪問方法
file:/// 直接訪問本地硬盤上文件倉庫
http:// 通過 WebDAV 協(xié)議訪問支持 Subversion 的 Apache 2 Web 服務(wù)器
https:// 類似 http://,支持 SSL 加密
svn:// 通過自帶協(xié)議訪問 svnserve 服務(wù)器
svn+ssh://類似 svn://,支持通過 SSH 通道
本節(jié)中,我們將看到如何配置 SVN 以使之能夠通過所有的方法得以訪問。當(dāng)然這里我們之討論基本的方法。要了解更高級的用途,我們推薦您閱讀《使用 Subversion 進(jìn)行版本控制》在線電子書。
6.1. 直接訪問文件倉庫(file://)
這是所有訪問方式中最簡單的。它不需要事先運(yùn)行任何 SVN 服務(wù)。這種訪問方式用于訪問本地的 SVN 文件倉庫。語法是:
$ svn co file:///home/svn/myproject 或者 $ svn co file://localhost/home/svn/myproject 注意:如果您并不確定主機(jī)的名稱,您必須使用三個斜杠(///),而如果您指定了主機(jī)的名稱,則您必須使用兩個斜杠(//). 對文件倉庫的訪問權(quán)限基于文件系統(tǒng)的權(quán)限。如果該用戶具有讀/寫權(quán)限,那么他/她就可以簽出/提交修改。如果您像前面我們說描述的那樣設(shè)置了相應(yīng)的組,您可以簡單的將一個用戶添加到“subversion”組中以使其具有簽出和提交的權(quán)限。
6.2. 通過 WebDAV 協(xié)議訪問(http://)
要通過 WebDAV 協(xié)議訪問 SVN 文件倉庫,您必須配置您的 Apache 2 Web 服務(wù)器。您必須加入下面的代碼片段到您的/etc/apach2/apache2.conf 中:
DAV svn
SVNPath /home/svn/myproject
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
當(dāng)您添加了上面的內(nèi)容,您必須重新起動 Apache 2 Web 服務(wù)器,請輸入下面的命令:
sudo /etc/init.d/apache2 restart 接下來,您需要創(chuàng)建 /etc/subversion/passwd 文件,該文件包含了用戶授權(quán)的詳細(xì)信息。要添加用戶,您可以執(zhí)行下面的命令: sudo htpasswd2 /etc/subversion/passwd user_name
它會提示您輸入密碼,當(dāng)您輸入了密碼,該用戶就建立了。您可以通過下面的命令來訪問文件倉庫:
$ svn co http://hostname/svn/myproject myproject --username user_name它會提示您輸入密碼。您必須輸入您使用 htpasswd2 設(shè)置的密碼。當(dāng)通過驗(yàn)證,項(xiàng)目的文件就被簽出了。
警告:密碼是通過純文本傳輸?shù)?。如果您?dān)心密碼泄漏的問題,我們建議您使用 SSL 加密,有關(guān)詳情請看下一節(jié)。
6.3. 通過具有安全套接字(SSL)的 WebDAV 協(xié)議訪問(https://)
Subversion安裝后通過具有 SSL 加密的 WebDAV 協(xié)議訪問 SVN 文件倉庫(https://)非常類似上節(jié)所述的內(nèi)容,除了您必須為您的 Apache 2 Web 服務(wù)器設(shè)置數(shù)字證書之外。
您可以安裝由諸如 Verisign 發(fā)放的數(shù)字簽名,或者您可以安裝您自己的數(shù)字簽名。
我們假設(shè)您已經(jīng)為 Apache 2 Web 服務(wù)器安裝和配置好了相應(yīng)的數(shù)字證書?,F(xiàn)在按照上一節(jié)所描述的方法訪問 SVN 文件倉庫,別忘了把http:// 換成 https://。如何,幾乎是一模一樣的!
6.4. 通過自帶協(xié)議訪問(svn://)
當(dāng)您創(chuàng)建了 SVN 文件倉庫,您可以修改 /home/svn/myproject/conf/svnserve.conf 來配置其訪問控制。
例如,您可以取消下面的注釋符號來設(shè)置授權(quán)機(jī)制:
# [general]
# password-db = passwd
現(xiàn)在,您可以在“passwd”文件中維護(hù)用戶清單。編輯同一目錄下“passwd”文件,添加新用戶。語法如下:username = password
要了解詳情,請參考該文件。
現(xiàn)在,您可以在本地或者遠(yuǎn)程通過 svn:// 當(dāng)文 SVN 了,您可以使用“svnserve”來運(yùn)行 svnserver,語法如下:
$ svnserve -d --foreground -r /home/svn
# -d -- daemon mode
# --foreground -- run in foreground (useful for debugging)
# -r -- root of directory to serve
要了解更多信息,請輸入:
$ svnserve --help
當(dāng)您執(zhí)行了該命令,SVN 就開始監(jiān)聽默認(rèn)的端口(3690)。您可以通過下面的命令來訪問文件倉庫:
$ svn co svn://hostname/myproject myproject --username user_name
基于服務(wù)器的配置,它會要求輸入密碼。一旦通過驗(yàn)證,就會簽出文件倉庫中的代碼。
要同步文件倉庫和本地的副本,您可以執(zhí)行 update 子命令,語法如下:
$ cd project_dir
$ svn update
要了解更多的 SVN 子命令,您可以參考手冊。例如要了解 co (checkout) 命令,請執(zhí)行:
$ svn co help
6.5. 通過具有安全套接字(SSL)的自帶協(xié)議訪問(svn+ssh://)
Subversion安裝配置和服務(wù)器進(jìn)程于上節(jié)所述相同。我們假設(shè)您已經(jīng)運(yùn)行了“svnserve”命令。我們還假設(shè)您運(yùn)行了 ssh 服務(wù)并允許接入。要驗(yàn)證這一點(diǎn),請嘗試使用 ssh 登錄計(jì)算機(jī)。如果您可以登錄,那么大功告成,如果不能,請?jiān)趫?zhí)行下面的步驟前解決它。
svn+ssh:// 協(xié)議使用 SSL 加密來訪問 SVN 文件倉庫。如您所知,數(shù)據(jù)傳輸是加密的。要訪問這樣的文件倉庫,請輸入:
$ svn co svn+ssh://hostname/home/svn/myproject myproject --username user_name
注意:在這種方式下,您必須使用完整的路徑(/home/svn/myproject)來訪問 SVN 文件倉庫
基于服務(wù)器的配置,它會要求輸入密碼。您必須輸入您用于登錄 ssh 的密碼,一旦通過驗(yàn)證,就會簽出文件倉庫中的代碼。
您還應(yīng)該參考 SVN book 以了解關(guān)于 svn+ssh:// 協(xié)議的詳細(xì)信息。Ubuntu下Subversion安裝 講解完畢, 以上講解的只是Subversion最基本的用法,Subversion還有很多高級應(yīng)用,大家可以參閱相關(guān)文檔選擇使用。
【編輯推薦】