安裝和使用SVN nebula.fortune by beijing
一、安裝 Apache 略 不用網(wǎng)絡(luò )版的話(huà),可不需要。
注意看SVN中編譯的Apache的版本,選擇合適的版本安裝,否則可能不能用。
二、安裝Subversion 服務(wù)器



可以在系統變量里面看到PATH里面已經(jīng)有路徑了.

三、安裝TortoiseSVN 客戶(hù)端





可在裝完語(yǔ)言包后重啟機器。
四、安裝語(yǔ)言包

五、創(chuàng )建SVN存儲庫
命令行方式:svnadmin create C:\svn\
圖形菜單:



repository創(chuàng )建完畢后會(huì )在目錄下生成若干個(gè)文件和文件夾,dav目錄是提供給Apache與mod_dav_svn使用的目錄(未創(chuàng )建),讓它們存儲內部數據;db目錄就是所有版本控制的數據文件;hooks目錄放置hook腳本文件的目錄;locks用來(lái)放置Subversion文件庫鎖定數據的目錄,用來(lái)追蹤存取文件庫的客戶(hù)端;format文件是一個(gè)文本文件,里面只放了一個(gè)整數,表示當前文件庫配置的版本號;
六、設置客戶(hù)端語(yǔ)言


七、配置SVN服務(wù)器
(這個(gè)位置就是在你建儲存庫的地方C:\svn)
打開(kāi)/conf/目錄,打開(kāi)svnserve.conf找到一下兩句:
# [general]
# password-db = passwd
# anon-access = none
# auth-access = write
去之每行開(kāi)頭的#,其中第二行是指定身份驗證的文件名,即passwd文件.anon-access = none 是匿名用戶(hù)不能訪(fǎng)問(wèn),必須要有用戶(hù)名和密碼。(注意:?jiǎn)?wèn)題就出在這,一定要注意格式去掉注釋后要頂格不能有空)
同樣打開(kāi)passwd文件,將
# [users]
# harry = harryssecret
# sally = sallyssecret
格式為“用戶(hù)名 = 密碼”,如可插入一行:admin = admin888,即為系統添加一個(gè)用戶(hù)名為admin,密碼為admin888的用戶(hù)
八、運行SVN服務(wù)
命令行方式: svnserve --daemon --root C:\svn
服務(wù)啟動(dòng),--daemon可簡(jiǎn)寫(xiě)為-d,--root可簡(jiǎn)寫(xiě)為-r,可以建立一個(gè)批處理文件并放在windows啟動(dòng)組中便于開(kāi)機就運行SVN服務(wù)(注意:這是臨時(shí)打開(kāi)的服務(wù),命令執行后不能關(guān)閉窗口)
用后臺服務(wù)的方式可以設置開(kāi)機自動(dòng)執行。
C:\Program Files\Subversion\bin>sc create svnservice binpath= "c:\Program Files\
Subversion\bin\svnserve.exe --service -r c:\SVN"
就可以用net svnservice stop 或者start來(lái)啟動(dòng)服務(wù)了 也可以在Sevices.msc來(lái)啟動(dòng)了。


啟動(dòng)類(lèi)型改為自動(dòng),并且啟動(dòng).

九、設置Apache
1、將C:\Program Files\Subversion\bin(svn服務(wù)器中的安裝目錄)中的 mod_authz_svn.so 和 mod_dav_svn.so 復制到 Apache 安裝目錄 modules\目錄下,再將 Subversion\bin 安裝目錄下面所有的 .dll 文件復制到 Apache\Bin 目錄下(注意,這一步非常重要,如果提示覆蓋操作,表示版本有問(wèn)題,選擇否)
2、配置SVN網(wǎng)絡(luò )訪(fǎng)問(wèn)
找到Apache Group\Apache2\conf\httpd.conf文件,然后去掉如下幾行的注釋(刪除 ''#''標記):
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
將下面兩行添加到LoadModule部分的最后。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
或者
LoadModule dav_svn_module "c:/program files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "c:/program files/Subversion/bin/mod_authz_svn.so"
3、在這個(gè)文件的最后,追加如下語(yǔ)句:
<Location /svn>
DAV svn
SVNParentPath c:/svn_web
</Location>


根目錄新建svn_web目錄,在里面新建TEST目錄測試,右鍵在此創(chuàng )建版本庫。


Svn權限設置
1 #資源庫的根位置,多庫模式。實(shí)際的資源庫路徑為:D:\svnrepos\testrepo
2 <Location /svn>
3 DAV svn
4 SVNParentPath D:\svnrepos #AuthzSVNAccessFile svnaccessfile
5 AuthType Basic
6 AuthName "Subversion repositories"
7 AuthUserFile "D:\Program Files\Apache Software Foundation\Apache2.2\conf-svn\passwd"
8 Require valid-user
9 </Location>
10
11 #單庫模式配置方法,根據實(shí)際需要選擇一種配置方法就行。
12 <Location /svn>
13 DAV svn
14 SVNPath D:\svnrep\test
15 AuthType Basic
16 AuthName "Subversion repositories"
17 AuthUserFile "D:\Program Files\Apache Software Foundation\Apache2.2\conf-svn\passwd"
18 Require valid-user
19 </Location>
用htpasswd工具創(chuàng )建apache_authz 文件,
建立保存用戶(hù)名和密碼的文件
Program Files\Apache Software Foundation\Apache2.2\bin>htpasswd -cm D:\Subversion\apache_authz username1
-c 表示創(chuàng )建文件,-m表示對密碼用md5加密
然后,會(huì )提示輸入兩次密碼,以后再加用戶(hù)就不需要用-c了,直接用-m即可。
下面建立控制用戶(hù)訪(fǎng)問(wèn)權限的文件svn_authz
在C:\Subversion中新建一個(gè)記事本文件,輸入下面的內容:
[groups]
test-developers = zxm
everyone = @test-developers
[test:/] //這表示,倉庫test的根目錄下的訪(fǎng)問(wèn)權限
@test-developers = rw
[test:/test] //test倉庫下test目錄的訪(fǎng)問(wèn)權限
@test-developers = rw // 如果在前面加上@符號,則表示這是個(gè)群組權限設置
r 表示讀權限
w 表示寫(xiě)權限
好,配置完成,重新啟動(dòng)Apache server
在瀏覽器地址欄中再次輸入:http://localhost/svn/test/
這次要輸入密碼才能進(jìn)入,趕快試試吧。
保存httpd.conf文件,重啟Apache,就能訪(fǎng)問(wèn)了。注:多庫模式下的訪(fǎng)問(wèn)地址:http://localhost/svn /test;單庫模式的訪(fǎng)問(wèn)地址:http://localhost/svn,第一次訪(fǎng)問(wèn)時(shí)提示輸入用戶(hù)名密碼。使用htpasswd命令中設置的用戶(hù)名 密碼訪(fǎng)問(wèn)。
十、訪(fǎng)問(wèn)
1、客戶(hù)端訪(fǎng)問(wèn) 瀏覽器輸入: svn:\\SVN服務(wù)器地址,輸入用戶(hù)名和密碼


2、其它幾種方法
file:///磁盤(pán)驅動(dòng)器|/repository所在目錄/子目錄
http://賬號@服務(wù)器名稱(chēng)/ repository所在目錄/子目錄(網(wǎng)絡(luò )配置失敗,未測試)
https://賬號@服務(wù)器名稱(chēng)/ repository所在目錄/子目錄(網(wǎng)絡(luò )配置失敗,未測試)
svn+ssh://賬號@服務(wù)器名稱(chēng)/ repository所在目錄/子目錄
十一、建立一個(gè)Working目錄
所謂的Working目錄其實(shí)就是您平時(shí)用來(lái)存放工作檔案的地方。通常我們會(huì )等到自己的工作做到一個(gè)段落的時(shí)候再進(jìn)行備份。所以我們平常都是在Working目錄下面工作,等到適當時(shí)機在Commit到Repository中。舉例來(lái)說(shuō),我們在C盤(pán)下面建立一個(gè)名為Working的目錄。首先建立這個(gè)目錄,然后CHECKOUT,即鼠標右鍵SVN Checkout


首先我們要填入的是repository的位置,對于SVN來(lái)說(shuō),repository的位置都是URL。由于我們前面已經(jīng)在C盤(pán)上建立了一個(gè)repository,因此,我們現在要在版本庫(URL of repository)這一欄填入file:///C:/SVN/,接著(zhù),稍微看一下 檢出至該目錄(Checkout directory),這個(gè)字段應該要指向您的Working目錄。確認后,按下OK按鈕,您應該可以看到以下的信息窗口。這樣就表示動(dòng)作完成。

按下OK按鈕后,再到您剛剛建立的目錄下,您將看到Working目錄下面多了一個(gè)名為.svn的目錄(這個(gè)目錄是隱藏的)。切記不應該更動(dòng)這個(gè)目錄下任何內容,否則會(huì )影響SVN的運行。

十二、新增目錄和相關(guān)文件到Repository中
如果您前面的動(dòng)作無(wú)誤,現在您開(kāi)始開(kāi)發(fā)一個(gè)新的程序。比如您開(kāi)發(fā)的程序將放在前面建立的Working目錄下面的my_prj子目錄,并做了第一次修改。

在my_prj目錄的icon上面,按鼠標右鍵,并且選擇TortoiseSVN->Add

接著(zhù),TortoiseSVG會(huì )把準備要加入的檔案及目錄,顯示給您看。打勾的就是等下要加入到Repository中的。如果有不想這次加入的,不要勾選即可。

按下OK后,您將看到以下信息窗口:

目前僅記錄你將進(jìn)行的操作,并未真正提交,需要點(diǎn)擊提交才會(huì )將制定的目錄和文件真正的放入到Repository中。鼠標右鍵選擇SVN提交(SVN commit)

緊接著(zhù),您將會(huì )看懂如下的窗口出現:

在這個(gè)窗口中,下半部會(huì )列出一個(gè)清單,讓您清楚的了解到哪些檔案要被Commit到Repository中,同樣的,你不想有些檔案不Commit,不打勾即可。在信息欄,您可以輸入本次Commit的目的。這個(gè)非常重要,特別是Commit多了的話(huà),需要通過(guò)這個(gè)信息得知各部分的差異。按下OK之后,通知您已經(jīng)將制定的檔案送到Repository中。

可以看到該目錄已經(jīng)是綠色勾了,表示您的檔案都正確無(wú)誤的到Repository中。

十三、更新檔案及目錄
為何需要更新?因為版本控制系統多半都是由許多人共同使用。所以,同樣的檔案可能還有人會(huì )去編輯。為了確保您工作目錄中的檔案與Repository中的檔案同步的。建議您在編輯前都先進(jìn)行更新的動(dòng)作。在此,我們都先假設您已經(jīng)將檔案Checkout過(guò)一次.現在要說(shuō)明的是如何在一個(gè)Check out過(guò)的目錄進(jìn)行update.在想要更新的檔案或目錄icon上面按下鼠標右鍵,選擇 SVN 更新(SVN Update).


正常狀況下,您可以看到如上的窗口。在這個(gè)窗口中會(huì )顯示哪些文件更新了。
十四、更新至特定版本
有時(shí)候我們需要回溯至特定的日期或版本,這時(shí)就可以利用SVN的Update to revision的功能。在想要更新的檔案或目錄icon上面按下鼠標右鍵。并且選擇TortoiseSVN->Update to revision

Show log后可以回顧歷史了。

可以看到指定文件或文件夾回到指定版本。
再使用SVN更新,又回到最后最新?tīng)顟B(tài)。
其他請看文檔。
聯(lián)系客服