安裝和使用SVN nebula.fortune by beijing
一、安裝 Apache 略 不用網(wǎng)絡(luò)版的話,可不需要。
注意看SVN中編譯的Apache的版本,選擇合適的版本安裝,否則可能不能用。
二、安裝Subversion 服務(wù)器
可以在系統(tǒng)變量里面看到PATH里面已經(jīng)有路徑了.
三、安裝TortoiseSVN 客戶端
可在裝完語言包后重啟機器。
四、安裝語言包
五、創(chuàng)建SVN存儲庫
命令行方式:svnadmin create C:\svn\
圖形菜單:
repository創(chuàng)建完畢后會在目錄下生成若干個文件和文件夾,dav目錄是提供給Apache與mod_dav_svn使用的目錄(未創(chuàng)建),讓它們存儲內(nèi)部數(shù)據(jù);db目錄就是所有版本控制的數(shù)據(jù)文件;hooks目錄放置hook腳本文件的目錄;locks用來放置Subversion文件庫鎖定數(shù)據(jù)的目錄,用來追蹤存取文件庫的客戶端;format文件是一個文本文件,里面只放了一個整數(shù),表示當(dāng)前文件庫配置的版本號;
六、設(shè)置客戶端語言
七、配置SVN服務(wù)器
(這個位置就是在你建儲存庫的地方C:\svn)
打開/conf/目錄,打開svnserve.conf找到一下兩句:
# [general]
# password-db = passwd
# anon-access = none
# auth-access = write
去之每行開頭的#,其中第二行是指定身份驗證的文件名,即passwd文件.anon-access = none 是匿名用戶不能訪問,必須要有用戶名和密碼。(注意:問題就出在這,一定要注意格式去掉注釋后要頂格不能有空)
同樣打開passwd文件,將
# [users]
# harry = harryssecret
# sally = sallyssecret
格式為“用戶名 = 密碼”,如可插入一行:admin = admin888,即為系統(tǒng)添加一個用戶名為admin,密碼為admin888的用戶
八、運行SVN服務(wù)
命令行方式: svnserve --daemon --root C:\svn
服務(wù)啟動,--daemon可簡寫為-d,--root可簡寫為-r,可以建立一個批處理文件并放在windows啟動組中便于開機就運行SVN服務(wù)(注意:這是臨時打開的服務(wù),命令執(zhí)行后不能關(guān)閉窗口)
用后臺服務(wù)的方式可以設(shè)置開機自動執(zhí)行。
C:\Program Files\Subversion\bin>sc create svnservice binpath= "c:\Program Files\
Subversion\bin\svnserve.exe --service -r c:\SVN"
就可以用net svnservice stop 或者start來啟動服務(wù)了 也可以在Sevices.msc來啟動了。
啟動類型改為自動,并且啟動.
九、設(shè)置Apache
1、將C:\Program Files\Subversion\bin(svn服務(wù)器中的安裝目錄)中的 mod_authz_svn.so 和 mod_dav_svn.so 復(fù)制到 Apache 安裝目錄 modules\目錄下,再將 Subversion\bin 安裝目錄下面所有的 .dll 文件復(fù)制到 Apache\Bin 目錄下(注意,這一步非常重要,如果提示覆蓋操作,表示版本有問題,選擇否)
2、配置SVN網(wǎng)絡(luò)訪問
找到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、在這個文件的最后,追加如下語句:
<Location /svn>
DAV svn
SVNParentPath c:/svn_web
</Location>
根目錄新建svn_web目錄,在里面新建TEST目錄測試,右鍵在此創(chuàng)建版本庫。
Svn權(quán)限設(shè)置
1 #資源庫的根位置,多庫模式。實際的資源庫路徑為: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 #單庫模式配置方法,根據(jù)實際需要選擇一種配置方法就行。
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 文件,
建立保存用戶名和密碼的文件
Program Files\Apache Software Foundation\Apache2.2\bin>htpasswd -cm D:\Subversion\apache_authz username1
-c 表示創(chuàng)建文件,-m表示對密碼用md5加密
然后,會提示輸入兩次密碼,以后再加用戶就不需要用-c了,直接用-m即可。
下面建立控制用戶訪問權(quán)限的文件svn_authz
在C:\Subversion中新建一個記事本文件,輸入下面的內(nèi)容:
[groups]
test-developers = zxm
everyone = @test-developers
[test:/] //這表示,倉庫test的根目錄下的訪問權(quán)限
@test-developers = rw
[test:/test] //test倉庫下test目錄的訪問權(quán)限
@test-developers = rw // 如果在前面加上@符號,則表示這是個群組權(quán)限設(shè)置
r 表示讀權(quán)限
w 表示寫權(quán)限
好,配置完成,重新啟動Apache server
在瀏覽器地址欄中再次輸入:http://localhost/svn/test/
這次要輸入密碼才能進入,趕快試試吧。
保存httpd.conf文件,重啟Apache,就能訪問了。注:多庫模式下的訪問地址:http://localhost/svn /test;單庫模式的訪問地址:http://localhost/svn,第一次訪問時提示輸入用戶名密碼。使用htpasswd命令中設(shè)置的用戶名 密碼訪問。
十、訪問
1、客戶端訪問 瀏覽器輸入: svn:\\SVN服務(wù)器地址,輸入用戶名和密碼
2、其它幾種方法
file:///磁盤驅(qū)動器|/repository所在目錄/子目錄
http://賬號@服務(wù)器名稱/ repository所在目錄/子目錄(網(wǎng)絡(luò)配置失敗,未測試)
https://賬號@服務(wù)器名稱/ repository所在目錄/子目錄(網(wǎng)絡(luò)配置失敗,未測試)
svn+ssh://賬號@服務(wù)器名稱/ repository所在目錄/子目錄
十一、建立一個Working目錄
所謂的Working目錄其實就是您平時用來存放工作檔案的地方。通常我們會等到自己的工作做到一個段落的時候再進行備份。所以我們平常都是在Working目錄下面工作,等到適當(dāng)時機在Commit到Repository中。舉例來說,我們在C盤下面建立一個名為Working的目錄。首先建立這個目錄,然后CHECKOUT,即鼠標右鍵SVN Checkout
首先我們要填入的是repository的位置,對于SVN來說,repository的位置都是URL。由于我們前面已經(jīng)在C盤上建立了一個repository,因此,我們現(xiàn)在要在版本庫(URL of repository)這一欄填入file:///C:/SVN/,接著,稍微看一下 檢出至該目錄(Checkout directory),這個字段應(yīng)該要指向您的Working目錄。確認后,按下OK按鈕,您應(yīng)該可以看到以下的信息窗口。這樣就表示動作完成。
按下OK按鈕后,再到您剛剛建立的目錄下,您將看到Working目錄下面多了一個名為.svn的目錄(這個目錄是隱藏的)。切記不應(yīng)該更動這個目錄下任何內(nèi)容,否則會影響SVN的運行。
十二、新增目錄和相關(guān)文件到Repository中
如果您前面的動作無誤,現(xiàn)在您開始開發(fā)一個新的程序。比如您開發(fā)的程序?qū)⒎旁谇懊娼⒌?font face="Times New Roman">Working目錄下面的my_prj子目錄,并做了第一次修改。
在my_prj目錄的icon上面,按鼠標右鍵,并且選擇TortoiseSVN->Add
接著,TortoiseSVG會把準備要加入的檔案及目錄,顯示給您看。打勾的就是等下要加入到Repository中的。如果有不想這次加入的,不要勾選即可。
按下OK后,您將看到以下信息窗口:
目前僅記錄你將進行的操作,并未真正提交,需要點擊提交才會將制定的目錄和文件真正的放入到Repository中。鼠標右鍵選擇SVN提交(SVN commit)
緊接著,您將會看懂如下的窗口出現(xiàn):
在這個窗口中,下半部會列出一個清單,讓您清楚的了解到哪些檔案要被Commit到Repository中,同樣的,你不想有些檔案不Commit,不打勾即可。在信息欄,您可以輸入本次Commit的目的。這個非常重要,特別是Commit多了的話,需要通過這個信息得知各部分的差異。按下OK之后,通知您已經(jīng)將制定的檔案送到Repository中。
可以看到該目錄已經(jīng)是綠色勾了,表示您的檔案都正確無誤的到Repository中。
十三、更新檔案及目錄
為何需要更新?因為版本控制系統(tǒng)多半都是由許多人共同使用。所以,同樣的檔案可能還有人會去編輯。為了確保您工作目錄中的檔案與Repository中的檔案同步的。建議您在編輯前都先進行更新的動作。在此,我們都先假設(shè)您已經(jīng)將檔案Checkout過一次.現(xiàn)在要說明的是如何在一個Check out過的目錄進行update.在想要更新的檔案或目錄icon上面按下鼠標右鍵,選擇 SVN 更新(SVN Update).
正常狀況下,您可以看到如上的窗口。在這個窗口中會顯示哪些文件更新了。
十四、更新至特定版本
有時候我們需要回溯至特定的日期或版本,這時就可以利用SVN的Update to revision的功能。在想要更新的檔案或目錄icon上面按下鼠標右鍵。并且選擇TortoiseSVN->Update to revision
Show log后可以回顧歷史了。
可以看到指定文件或文件夾回到指定版本。
再使用SVN更新,又回到最后最新狀態(tài)。
其他請看文檔。
聯(lián)系客服