一個(gè)小項(xiàng)目,需要在自己的pc上創(chuàng)建svn服務(wù),為了簡(jiǎn)單,沒(méi)有用Apache,以前只是用過(guò)客戶(hù)端,沒(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、客戶(hù)端軟件TortoiseSVN 1.6.6 注意:服務(wù)器端和庫(kù)戶(hù)端的軟件版本一定要一致,否則訪問(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、客戶(hù)端 跟服務(wù)器端一樣,下載好后雙擊TortoiseSVN 1.6.6,傻瓜安裝。但要確??蛻?hù)端程序和服務(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)建用戶(hù)組,比如group1,里面有三個(gè)用戶(hù)user1, user2和user3,權(quán)限為rw即讀寫(xiě)權(quán)限。 2、passwd文件,用來(lái)修改用戶(hù)密碼 這里三個(gè)用戶(hù)的初始密碼都設(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)然客戶(hù)端程序TortoiseSVN要裝好。 鍵入服務(wù)器端的Repository地址 單擊OK,如果能看到如下窗口就證明安裝配置成功了 這樣就可以在客戶(hù)端用前面配置的三個(gè)用戶(hù)進(jìn)行訪問(wèn)了,注意在其它機(jī)器上訪問(wèn)的時(shí)候要把127.0.0.1改成本機(jī)IP,關(guān)于客戶(hù)端如何使用這里就不作介紹了。 六、補(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)之處,可以給我留言,謝謝。 |
|