建立Subversion倉(cāng)庫(kù)在本地如何操作?
本節(jié)和大家一起學(xué)習(xí)一下如何在本地建立Subversion倉(cāng)庫(kù),主要內(nèi)容有安裝Subversion和配置用戶和權(quán)限等,希望通過(guò)本節(jié)的介紹,大家能夠掌握在本地建立Subversion倉(cāng)庫(kù)的方法。
本地建立Subversion倉(cāng)庫(kù)
Subversion真是個(gè)好東西,大大提高了團(tuán)隊(duì)協(xié)同開(kāi)發(fā)的效率,也為本地進(jìn)行程序開(kāi)發(fā)時(shí)保存不同版本提供了便捷。再也不用為一個(gè)個(gè)小程序在不同進(jìn)度時(shí),建立xxxx200808026.zip之類突兀文件了,一段時(shí)間后自己都不知道這個(gè)壓縮內(nèi)包含什么進(jìn)度內(nèi)容了。有了Subversion后一個(gè)update加一條清楚的注釋搞定一切。
今天在機(jī)器建了一個(gè)版本庫(kù),將過(guò)程記下以便日后查閱。我的環(huán)境是WindowsXP+SP3+SVN 版本 1.4.6 (r28521)
安裝Subversion。從官網(wǎng)下載回來(lái)一路Next,略過(guò)。
在我的F盤建立一個(gè)SVN目錄,用來(lái)存放版本庫(kù)的文件,將來(lái)所有代碼也將提交到這里。
我的Subversion是安裝在D:\Program Files\Subversion\bin下的,在CMD下將目錄切換到此處。輸入如下命令:svnserve -d -r f:\svn,該命令是用來(lái)啟用SVN服務(wù)的,回車以后,將進(jìn)入等待界面。進(jìn)行其他操作需要另起一個(gè)CMD,否則會(huì)導(dǎo)致后面連接不上。
簡(jiǎn)單介紹一下這條命令,-d表示svnserve.exe將以服務(wù)的形式在后臺(tái)運(yùn)行,-r表示root,以f:\svn作為下面連接服務(wù)器的概目錄。由于Subversion1.4開(kāi)始,Subversion本身就集成Windows服務(wù)的工具,所以可以直接將svnserve注冊(cè)成Windows系統(tǒng)服務(wù),隨系統(tǒng)啟動(dòng)一起啟動(dòng)在后臺(tái)運(yùn)行。
注冊(cè)成服務(wù)的腳本是這樣的:
sc create svn
binpath= “D:\Program Files\Subversion\bin\svnserve.exe –service -r f:\svn”
displayname= “Subversion Service”
depend= Tcpip
start=auto
在上腳本可以連成一行,將換行處換成空格即可。我個(gè)人比較傾向***種方式,畢竟為一個(gè)幾天才更新一次或者一天才更新一次的svn,注冊(cè)成系統(tǒng)服務(wù)我感覺(jué)劃不來(lái)。在提交的時(shí)間大不開(kāi)個(gè)Cmd執(zhí)行svnserve -d -r f:\svn還是比較方便的。如果你想刪了剛才的服務(wù),可以使用net stop svn sc delete svn,這兩句腳本即可。
這一步用來(lái)建庫(kù)。命令是:svnadmin create f:\svn\test –fs-type fsfs,如果沒(méi)出現(xiàn)在什么錯(cuò)誤的話,你進(jìn)入F:\SVN目錄后,將會(huì)看到Subversion已經(jīng)建立了一系列文件了,這些文件就是你要的版本庫(kù)主體文件。這條命令后面的參數(shù)–fs-type fsfs,是建立版本庫(kù)的不同存儲(chǔ)方式。還有一種比較常見(jiàn)的就是–fs-type bdb。兩種方式各有其優(yōu)缺點(diǎn),fsfs已經(jīng)足夠我用了。關(guān)于兩種方式的異同,請(qǐng)閱這篇文章:subversion中BDB和FSFS兩種存儲(chǔ)方式的比較。本地建立Subversion倉(cāng)庫(kù)時(shí),安裝好Subversion以后就要配置用戶和權(quán)限了。
配置用戶和權(quán)限。打開(kāi)f:\svn\test目錄下的conf文件夾,該文件夾用來(lái)保存用戶信息及權(quán)限的。其中的svnserve.conf用來(lái)記錄匿名訪問(wèn)和通過(guò)驗(yàn)證的訪問(wèn)權(quán)限,以及用戶文件與權(quán)限分配文件名。svnserve.conf中我是這樣配置的:
[general]
anon-access = read #匿名用戶根權(quán)
auth-access = write #通過(guò)驗(yàn)證用戶根權(quán)
password-db = passwd #用戶帳號(hào)文件名
authz-db = authz #權(quán)限分配文件名
文件passwd,是用來(lái)記錄用戶帳號(hào)的文件。我是這樣配置的:
[users]
lonkil = vcfans.com
文件authz是用來(lái)記錄種權(quán)限的分配,包插用戶組,以及各個(gè)用戶可以具備不同的根限,管理的相當(dāng)嚴(yán)格。我的配置如下:
[test:/]
lonkil = rw
導(dǎo)入***版數(shù)據(jù)到版本庫(kù)中。命令“svn import test svn://127.0.0.1/test -m “the first one” –username lonkil –password vcfans.com”,此時(shí)我當(dāng)前路徑在F:\MySpace下,該命令將F:\MySpace\test文件結(jié)構(gòu)全部導(dǎo)入到Subversion庫(kù)中。-m參數(shù)表示添加的該版本的注釋。
到這里我已經(jīng)簡(jiǎn)單的將本地建立Subversion倉(cāng)庫(kù)的過(guò)程介紹結(jié)束了,接下來(lái)就可以使用了。就可以通過(guò)svn://127.0.0.1/test進(jìn)行update,commit等等操作了。
【編輯推薦】
- 在線指導(dǎo):Windows系統(tǒng)服務(wù)自動(dòng)運(yùn)行對(duì)于SVN如何實(shí)現(xiàn)
- Subversion新理念及安裝問(wèn)題簡(jiǎn)單剖析
- 用Tomcat和MySQL生成動(dòng)態(tài)內(nèi)容
- 如何實(shí)現(xiàn)SVN倉(cāng)庫(kù)目錄規(guī)范化管理?
- 五步輕松實(shí)現(xiàn)SVN安裝和啟動(dòng)