一個(gè)小項(xiàng)目,需要在自己的pc上創(chuàng)建svn服務(wù),為了簡(jiǎn)單,沒(méi)有用Apache,以前只是用過(guò)客戶端,沒(méi)有創(chuàng)建過(guò)服務(wù)端,結(jié)果花了一個(gè)上午,終于搞定了。svn最主要的功能是用于團(tuán)隊(duì)開(kāi)發(fā)時(shí)用的,用于處理源碼修改的版本控制和并發(fā)修改沖突。當(dāng)然一個(gè)人開(kāi)發(fā)的時(shí)候沒(méi)有必要?jiǎng)?chuàng)建。
注:我沒(méi)有用VisualSVN。
一、軟件下載
1、服務(wù)器端軟件Subversion,我用的是1.6.6版本,Setup-Subversion-1.6.6.msi
2、客戶端軟件TortoiseSVN 1.6.6
注意:服務(wù)器端和庫(kù)戶端的軟件版本一定要一致,否則訪問(wèn)不了
二、安裝
1、服務(wù)器端
下載好服務(wù)器端軟件后,雙擊Setup-Subversion-1.6.6.msi運(yùn)行安裝程序,這個(gè)沒(méi)什么好說(shuō)的,一路Next下去就好了,所以默認(rèn)安裝目錄我C:\Program Files\Subversion\。
2、客戶端
跟服務(wù)器端一樣,下載好后雙擊TortoiseSVN 1.6.6,傻瓜安裝。但要確??蛻舳顺绦蚝头?wù)器端程序版本一致。
三、建立本機(jī)Repository
Repository 即源碼的集中存放處,所有修改后提交的源碼就是保存在這里,并在其中記錄所有的修改版本,分支版本,版本合并,以及并發(fā)修改處理等。比如我把源碼庫(kù)放在D:\svnroot\myproject(注意,確保不能刪除),然后在此文件夾上右鍵,選擇TortoiseSVN->Create repository here,創(chuàng)建完后,在這個(gè)目錄下會(huì)自動(dòng)產(chǎn)生一些目錄和文件,如下圖:
四、配置
配置只需要配置服務(wù)器端。打開(kāi)目錄D:\svnroot\myproject\conf\,要更改的文件有三個(gè):authz, passwd和svnserve.conf
1、authz文件
創(chuàng)建用戶組,比如group1,里面有三個(gè)用戶user1, user2和user3,權(quán)限為rw即讀寫(xiě)權(quán)限。
2、passwd文件,用來(lái)修改用戶密碼
這里三個(gè)用戶的初始密碼都設(shè)置為123
3、svnserve.conf文件
需要更改的就是如下幾行,把每行前面的注釋#拿掉,如下圖
改成
注:realm要指定為我們的源碼版本庫(kù),在這里為myproject。
五、啟動(dòng)服務(wù)器端服務(wù)
可以用命令行svnserve.exe -d -r D:\svnroot,回車(chē)后沒(méi)有什么反應(yīng),但是不能把命令行窗口關(guān)掉,如果關(guān)掉服務(wù)就終止了。
啟動(dòng)服務(wù)后我們可以測(cè)試一下,打開(kāi)一個(gè)文件瀏覽器,右鍵TortoiseSVN->Repo-browser,當(dāng)然客戶端程序TortoiseSVN要裝好。
鍵入服務(wù)器端的Repository地址
單擊OK,如果能看到如下窗口就證明安裝配置成功了
這樣就可以在客戶端用前面配置的三個(gè)用戶進(jìn)行訪問(wèn)了,注意在其它機(jī)器上訪問(wèn)的時(shí)候要把127.0.0.1改成本機(jī)IP,關(guān)于客戶端如何使用這里就不作介紹了。
六、補(bǔ)充
前面我們是用命令行窗口啟動(dòng)svn服務(wù)的,窗口不能關(guān)閉,這樣非常不方便。下面就來(lái)講一下如何將服務(wù)放到windows服務(wù)中,這樣開(kāi)機(jī)后就自動(dòng)啟動(dòng)。
先下載一個(gè)SVNService.exe,并將其copy到C:\Program Files\Subversion\bin\目錄下(不拷也可以,但為了方便使用,還是放到這里比較好),然后在命令行窗口并進(jìn)入到SVNService.exe所在目錄,執(zhí)行如下圖
然后我們就可以在Windows Service中看到該服務(wù)了,將其改成自動(dòng)啟動(dòng),這樣每次開(kāi)機(jī)就會(huì)自動(dòng)啟動(dòng)svn service了。
如果哪位有更簡(jiǎn)潔的方法或發(fā)現(xiàn)不當(dāng)之處,可以給我留言,謝謝。
聯(lián)系客服