術(shù)語(yǔ)匯編:簡(jiǎn)單剖析Subversion Eclipse
學(xué)習(xí)Subversion 時(shí),你可能會(huì)遇到Subversion Eclipse問(wèn)題,這里我發(fā)表一下個(gè)人理解,和大家討論討論。
Subversion Eclipse首先下載Subversion的Win32自動(dòng)安裝包,安裝。安裝包會(huì)自動(dòng)添加Path等變量。建立D:\Svn\repository文件夾,作為代碼的根目錄。
執(zhí)行命令:svnadmincreateD:\Svn\repository建立倉(cāng)庫(kù)根目錄。
下載并安裝SVNServiceWrapper,將svnserve包裝為服務(wù)。http://www.mscto.com
http://dark.clansoft.dk/~mbn/svnservice/http://www.mscto.com
將svnservice.execopy到subversion的bin目錄。http://www.mscto.com
執(zhí)行:svnservice-install-d-rd:\Svn\repository,在控制面板->服務(wù)中手動(dòng)開(kāi)啟服務(wù)。
版本控制使用passwd文件。修改%REPO_HOME%/conf/svnserve.conf,包含如下幾句:
[general]http://www.mscto.com
#指定匿名可讀,授權(quán)后才可寫(xiě)入
anon-Access=read
軟件開(kāi)發(fā)網(wǎng)
auth-access=writehttp://www.mscto.com
軟件開(kāi)發(fā)網(wǎng)
#指定密碼文件為當(dāng)前目錄下passwd
password-db=passwd
Passwd文件內(nèi)容如下,用戶(hù)名=密碼:
軟件開(kāi)發(fā)網(wǎng)
http://www.mscto.com
[users]
user1=123456
在這里要注意,所有字符串都要頂格寫(xiě)。
客戶(hù)端使用Eclipse的subclipse就可以。url直接使用svn://localhost/即可。如果使用本機(jī)服務(wù)也可以使用file///.感覺(jué)subversion的安裝比較方便。
SVN協(xié)議使用端口:3690。防火墻需要打開(kāi)此端口。
Subversion也有圖形的客戶(hù)端,可以在TortoiseSVN找到。
Subversion也VS.net的插件,可以在AnkhSVN找到。
TortoiseSVN相信不錯(cuò),因?yàn)橐郧坝眠^(guò)它的另一個(gè)ForCVS的工具,可以和瀏覽器結(jié)合在一起,非常方便和美觀。設(shè)置項(xiàng)目目錄
當(dāng)svnserve開(kāi)始運(yùn)行時(shí),它將會(huì)暴露所有的Repository到網(wǎng)絡(luò)上。不過(guò),當(dāng)客戶(hù)端需要獲取一個(gè)Repository的內(nèi)容時(shí),需要指定Reopsitory的絕對(duì)路徑。例如:一個(gè)Repository放在文件路徑
C:/ProjectRepository/Project1
那么當(dāng)客戶(hù)端訪問(wèn)時(shí),需要指定絕對(duì)路徑:
svn://host/C:/ProjectRepository/Project1
所以,為了增加保密性,你可以使用參數(shù)-r指定需要暴露的Repository的路徑,當(dāng)用戶(hù)訪問(wèn)時(shí),只需指定Repository的名稱(chēng)即可。例如上面的Repository,當(dāng)啟動(dòng)服務(wù)時(shí),使用如下的方法:
svn-d-rC:/ProjectRepository
那么當(dāng)客戶(hù)端訪問(wèn)時(shí),則使用svn://host/Project1就可以獲取數(shù)據(jù)了。下面講一下Subversion Eclipse的內(nèi)置的驗(yàn)證和授權(quán)。
內(nèi)置的驗(yàn)證和授權(quán)
當(dāng)客戶(hù)端連接到一個(gè)svnserve進(jìn)程時(shí),下面的流程就會(huì)觸發(fā):
1、客戶(hù)選擇一個(gè)指定的Repository;
2、服務(wù)處理Repository的配置文件conf/svnserve.conf文件,并且開(kāi)始執(zhí)行在其中定義的所有驗(yàn)證和授權(quán)策略;
3、依賴(lài)與情形和授權(quán)策略:
a)客戶(hù)端也許允許匿名訪問(wèn)而不需要驗(yàn)證,或者
b)客戶(hù)但也許需要在任何時(shí)候被要求驗(yàn)證,或者
c)假如處于"隧道模式"中,客戶(hù)端將聲明自己已經(jīng)可以被外部驗(yàn)證。http://www.mscto.com
很顯然,如上所說(shuō),用戶(hù)文件是一個(gè)名為svnserve.conf的,放在conf目錄下的文件。
現(xiàn)在我們來(lái)看看如何配置這個(gè)文件:
這個(gè)配置文件放置在Repository的目錄中的conf目錄下,它有兩個(gè)節(jié)點(diǎn):
[general]
[users]
其中,[general]的配置信息有:
anon-access=read
auth-access=write
其中表示對(duì)于驗(yàn)證有效的以及沒(méi)通過(guò)驗(yàn)證的用戶(hù)可以做什么事情。分別有read,write和none
[users]的標(biāo)簽的配置內(nèi)容有:
USERNAME=PASSWORD
password-db=passwd
realm=MyFirstRepository
其中表示,用戶(hù)名對(duì)應(yīng)的密碼是什么,或者指定一個(gè)存儲(chǔ)用戶(hù)名和密碼的文件的相對(duì)或絕對(duì)路徑以及指定了Repository的驗(yàn)證領(lǐng)域。如果兩個(gè)Repository有相同的驗(yàn)證領(lǐng)域,那么它們應(yīng)該有相同的密碼數(shù)據(jù)庫(kù),反之亦然。默認(rèn)的領(lǐng)域就是指向當(dāng)前的Repository的路徑,與服務(wù)器的Repository的根目錄相關(guān)。Subversion Eclipse已經(jīng)介紹完畢。
【編輯推薦】