svn使用詳解

SVN使用手冊

一. 如果開發過程中沒有SVN?

軟件研發過程中,任意一個項目都是由一個團隊完成的,而不能依靠單一個體完成。

在團隊開發過程中,資料數據的共享與同步將成爲開發過程中比較突出的問題。

圖一:原始開發管理模式(COPY模式)

缺點:

代碼管理混亂

備份多個版本,佔用磁盤空間大

解決代碼衝突困難

容易引發BUG

難於追溯問題代碼的修改人和修改時間

難於恢復至以前正確版本

無法進行權限控制

項目版本發佈困難

爲保障團隊開發過程中人員溝通各方面成本的降低,必須使用一種有效的方式減少溝通環節,提高開發效率,對資源的共享進行管理。

圖二:現階段的開發管理模式(Tools模式)

相關概念:

服務器 server 專用的硬件服務器

倉庫 repository 專用於某個項目的磁盤空間,位於硬件服務器中

檢出 checkout 一次性工作,下載代碼並完成與服務器間的關聯

上傳/提交 commit 多次工作

更新 update 多次工作

記錄日誌 logger 記錄操作相關的信息,包括動作,用戶,時間,信息

版本號碼 version 記錄文件被操作的次數,即版本數

作爲一個管理共享資源的工具必須具備以下幾點:

1. 能夠記錄日常事務中所有的文件的新建,編譯,刪除

2. 能夠記錄文件的操作人,操作時間,操作描述信息

3. 對於同一個文件,能夠提供更多的歷史版本供適用者參考

4. 對於不同的文件,能夠提供更高的管理權限,限制用戶的使用能力

5. 對於不同的項目/Case,能夠提供更多的空間管理模式

6. 對於不同的用戶,提供遠端訪問支持,使用戶更快捷進行資源共享

二. 
什麼是版本控制

版本控制(Revision control)是維護工程藍圖的標準做法,能追蹤工程藍圖從誕生到定案的過程。是一種記錄多個文件內容變化,以便將來查閱特定版本修訂情況的系統。

三. 主流的版本控制工具

VSS:Visual Source Safe(Microsoft Visual Studio成員)主要任務是負責項目文件的管理

CVS:march-hare出品的一套用於進行文件版本控制軟件

SVN:Apache軟件基金會名下的一套用於進行文件版本控制軟件

2000年初,開發人員要寫一個CVS的自由軟件代替品,它保留CVS的基本思想,但沒有它的錯誤和侷限,保留CVS的基本特性但去除CVSbug和不好的特性。

20002月,他們聯繫《使用CVS開發開源項目》(Open Source Development with CVS(Coriolis, 1999)的作者Karl Fogel,並徵求了他是否願意在這個新的項目中擔任一個角色。巧合的是,當時Karl已經和他的朋友Jim Blandy討論了一個關於新的版本控制系統的設計。在1995年,這兩人就成立了Cyclic Software,一個提供CVS的商業支持的軟件公司。雖然他們經營商業服務,但是仍然在每天都在工作中使用CVS。使用CVS的挫折感使得Jim認真思考更好的方法來管理數據,不但確定名字爲“Subversion”,而且完成了Subversion檔案庫的基礎設計。

CollabNet的電話到來時,Karl立即答應了加入項目中,而且Jim讓他的僱主RedHat Software同意讓他在這個項目中不定期工作。CollabNet僱用了KarlBen Collins-Sussman,並在5月開始了詳細設計工作。在得到了來自CollabNetBrian BehlendorfJason RobbinsGreg Stein(當時是一名活躍在WebDAV/DeltaV規範過程的自由程序員)很多創意的幫助下,Subversion很快地引起了一個活躍開發者社區的注意。它找出並歡迎很多同樣在CVS上受到挫折的社員能來爲這個項目做點什麼。

Subversion 最初的設計Team定下了幾個簡單的目標。 它必須在功能上可取代 CVS,也就是說所有 CVS 可做到的事它都要能夠作到。 在修正最明顯的瑕疵的同時還要保留相同的開發模式。 還有, Subversion 應該要和 CVS 很相像任何 CVS 使用者只要花費少許的力氣就可以很快地上手。

經過十四個月的編碼後, Subversion 2001831日開始實現 “自行管理”。 也就是說開發人員不再使用 CVS 來管理 Subversion 的代碼而以 Subversion 自己來管理。

200911月,SubversionApache Incubator專案所接收。

20101月,正式成爲Apache軟件基金會的一個頂級專案,所以爲Apache Subversion.

目前Apache Subversion的主席爲Greg Stein, 項目領導者Release managerWandisco公司。

四. SVN是什麼

SVN(subversion)是近年來崛起的版本管理工具,是cvs的接班人。目前,絕大多數開源軟件都使用SVN作爲代碼版本管理軟件。不要狹義的理解只服務於軟件研發,很多公司都適用SVN管理整個公司的文檔

五. SVN的作用

針對軟件研發企業的軟件生產過程而言,SVN用於管理整個開發過程中的源碼,進行版本控制。

 

六. 
SVN體系結構圖

 

七. 
SVN下載與安裝

 

 

 

目錄層次結構

 

 

八. 
SVN服務端指令

SVN服務端指令是指在服務器端進行操作用於對服務器進行系統級設定與操作

1. 查看svn版本信息

svnadmin --version

2. 創建數據倉庫

svnadmin create E:\repository\svn\itcast

準備工作

a) 首先手動創建磁盤目錄作爲總數據倉庫:E:\repository\svn

b) 再手動創建磁盤目錄作爲具體的數據倉庫:E:\repository\svn\itcast

c) 執行指令將指定目錄設置爲具體的數據倉庫

指令結果

將設置指定目錄爲SVN倉庫路徑,用於保存共享數據

 

 

 

conf

目錄

存放版本庫所用配置文件的目錄

authz

文件

授權信息

passwd

文件

用戶安全信息,包含用戶名與密碼

svnserve.conf

文件

服務相關信息

db

目錄

版本數據存儲目錄

hooks

目錄

存放版本庫勾子目錄

locks

目錄

存儲庫鎖目錄,用來跟蹤庫的訪問者

注意事項

創建數據倉庫對應的路徑必須存在,而被創建的倉庫名稱路徑則自動創建

3. 啓動SVN服務器(單倉庫)

svnserve r E:\repository\svn\itcast

準備工作

a) 必須存在該路徑,且是一個有效的SVN數據倉庫

指令結果

啓動對應的數據倉庫,作爲服務,等待響應用戶的SVN管理操作

4. 啓動SVN服務器(多倉庫)

svnserve r E:\repository\svn

準備工作

a) 必須存在該路徑,並且其中包含有效的SVN數據倉庫路徑

指令結果

啓動對應目錄下所有的數據倉庫,作爲服務,等待響應

注意事項

多倉庫啓動模式下只有有效的倉庫路徑纔可以被加載

【補】window指令:

查詢當前計算機啓動服務列表,SVN默認端口爲3690

netstat an

創建SVN服務器啓動爲window服務

sc create SVN-Service binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r E:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip

注意:上述指令爲DOS指令,格式要求嚴謹,不能隨意修改

sdelete 服務名稱

九. 
SVN客戶端指令

SVN客戶端指令是指在客戶端進行操作用於對完成與服務器信息的交互

1. 檢出數據倉庫信息(單倉庫)

svn checkout svn://192.168.1.100 .

準備工作

a) 磁盤中創建一個目錄,用於存放與SVN服務器進行交互的數據

b) 執行指令時,將當前路徑設置爲上述目錄

指令結果

將指定的SVN服務器中的信息檢出到當前目錄,並在當前目錄中生成與SVN服務器的連接數據,方便下一次與SVN服務器的連接。該目錄中的不能手工修改

注意事項

a) 如果執行指令時,沒有進入到保存數據的目錄,需要將指令修改爲保存到指定路徑的格式

svn checkout svn://192.168.1.100 E:\work\jt

b) 本機操作時,可能存在有多個IP地址,不妨換用localhost識別當前計算機

svn checkout svn://localhost E:\work\jt

c) 連接時,可以添加端口號進行,默認可以不加,自動訪問3690端口

svn checkout svn://localhost:3690 E:\work\jt

d) 指令的最後一個參數,也就是同步的目錄如果省略,默認爲當前,等同於輸入了.作爲當前目錄

svn checkout svn://localhost:3690 .

svn checkout svn://localhost:3690

2. 檢出數據倉庫信息(多倉庫)

svn checkout svn://192.168.1.100/itcast .

準備工作

a) 磁盤中創建一個目錄,用於存放與SVN服務器進行交互的數據

b) 執行指令時,將當前路徑設置爲上述目錄

指令結果

將指定的SVN服務器指定倉庫中的信息檢出到指定目錄,並在指定目錄中生成與SVN服務器的連接數據,方便下一次與SVN服務器的連接。

注意事項

a) 所有注意事項參看單倉庫提供模式

b) 由於多倉庫啓動模式下,提供有多個倉庫可使用,因此在指定了SVN服務器位置後,必須指定倉庫名稱

c) 多倉庫檢出後會在檢出目錄中產生一個與被檢出倉庫相同名稱的目錄

3. 將本地文件/目錄加入版本控制

svn add User.java

準備工作

a) 在本地目錄中創建文件/目錄,用於加入版本控制

指令結果

將本地文件/目錄加入到版本控制,受SVN管理。

注意事項

a) 未加入版本控制的文件/目錄,無法與服務器進行交互

b) 目錄加入到版本控制後,目錄中的所有文件與目錄都將一併加入版本控制

c) 如果是多倉庫檢出,需要設定倉庫名稱,然後設定文件名稱

svn add itcast/User.java

或進入對應目錄,使用add指令加入版本控制

4. 將加入版本控制的文件/目錄提交到服務器

svn commit User.java

準備工作

a) 在本地目錄中存在有已加入版本控制的文件/目錄

指令結果

將指定文件或目錄提交到SVN服務器,並記錄相關日誌描述信息

注意事項

a) 由於日誌信息是SVN進行版本控制中的重要信息,因此不能省略

b) 只有加入SVN版本控制的文件/目錄纔可以進行提交,未加入SVN版本控制的文件/目錄不參與提交,因此執行前必須保障add操作的完成

c) 提交版本到SVN服務器時,需要進行權限認證,除進行正常的登錄認證,也可以使用匿名用戶進行操作,需要修改匿名用戶的訪問權限

開啓匿名用戶的操作功能

打開數據倉庫中conf/svnserve.conf文件的anon-access = write選項,並設定對應的操作權限

d) SVN服務器的認證操作是在每次與SVN服務器進行數據交換時完成,因此無需重啓服務器

e) 提交後的文檔不接受重複提交,SVN服務器發現當前代碼與服務器代碼版本相同時,不進行提交操作

f) SVN服務器中保存的文檔不是源文件格式,

5. 更新本地版本爲SVN服務器最新版本

svn update

指令結果

將本地文件/目錄信息更新到與服務器相同版本信息

注意事項

a) 更新時,如果不添加指定的文件/目錄名稱,則更新整個數據倉庫

svn update fileName.txt

b) 如果本地版本與服務器相同,則不進行任何操作

6. 刪除本地文件

svn delete User.java

準備工作

a) 在本地目錄中存在有將要被刪除的SVN控制文件/目錄

指令結果

將本地文件/目錄信息刪除

注意事項

a) delete指令只能刪除本地文件,並沒有提交/同步到SVN服務器

b) 該指令刪除的文件/目錄,在未進行提交之前可通過revert指令進行恢復

7. 恢復本地文件

svn revert User.java

準備工作

a) 在本地目錄中存在有使用delete指令刪除的SVN控制文件/目錄且未提交到SVN服務器

指令結果

將本地被刪除文件/目錄信息恢復

注意事項

a) revert指令只能恢復未提交的數據

8. 獲取服務器信息

svn info

9. 獲取服務器目錄層次結構

svn list

10. 獲取服務器狀態信息

svn status

11. 獲取svn指令幫助

svn help

 

 

 

十. 
SVN圖形用戶界面操作——TortoiseSVN

TortoiseSVN是一款基於SVN服務器的圖形化操作用戶界面工具。TortoiseSVN提供了基於鼠標操作爲主導的SVN版本控制管理工具

安裝完畢後,對當前操作系統重新啓動,啓動完成後,系統主菜單加入了使用TortoiseSVNSVN服務器進行管理的工具

 

使用TortoiseSVN完成SVN版本控制管理

服務器相關操作

1. 創建數據倉庫

svnadmin create E:\repository\svn\itcast

在任意不是SVN數據倉庫的目錄中右鍵打開菜單,選擇將當前目錄創建爲數據倉庫

 

注意:滿足如下條件之一,將彈出如下錯誤提示

當前目錄已經是數據倉庫

當前目錄是數據倉庫的子目錄

 

2. 啓動SVN服務器(單倉庫)

svnserve r E:\repository\svn\itcast

日常工作中,SVN服務器多采用獨立硬件服務器構建,併發布爲服務啓動,因此無需進行手工啓動服務器的操作

3. 啓動SVN服務器(多倉庫)

svnserve r E:\repository\svn

日常工作中,SVN服務器多采用獨立硬件服務器構建,併發布爲服務啓動,因此無需進行手工啓動服務器的操作

客戶端相關操作

1. 檢出數據倉庫信息(多倉庫)

svn checkout svn://192.168.1.100/itcast .

創建新目錄,用於本地保存SVN服務器對應的本地文件,並在目錄中執行如下操作,即可創建於SVN服務器的關聯

 

 

 

設置SVN服務器倉庫名稱與檢出保存到對應的目錄路徑

SVN服務器進行有效關聯後,對應的文件夾將以特殊圖標的形式呈現

 

2. 將本地文件/目錄加入版本控制

svn add User.java

在本地倉庫中新創建的文件/目錄,不受SVN服務器控制,需要先將其加入版本控制,對新建文件/目錄點擊右鍵,通過菜單完成加入版本控制

 

加入版本控制後,對應的文件/目錄將以特殊圖標的形式呈現

 

此時,由於本地倉庫中存在有與SVN服務器中不同步的信息,因此圖標發生變化

 

3. 將加入版本控制的文件/目錄提交到服務器

svn commit User.java

在待提交的文件上面通過右鍵菜單,完成對SVN服務器的提交操作

 

選擇提交後,打開提交對話框,輸入提交日誌信息

 

提交成功後,返回提交成功信息回執,同時被提交文件/目錄的圖標發生變化

 

 

提交失敗後,返回提交失敗錯誤原因

 

4. 更新本地版本爲SVN服務器最新版本

svn update

在待更新的文件/目錄/工程上面通過右鍵菜單,完成從SVN服務器進行更新的操作

 

更新完畢後,彈出對應的提示信息

 

5. 刪除本地文件

svn delete User.java

在待刪除的文件/目錄上面通過右鍵菜單,完成本地文件/目錄的刪除操作,該操作在未提交之前是可恢復的

 

6. 恢復本地文件

svn revert User.java

對已刪除的文件/目錄,在未進行提交操作之前,可以對其進行恢復。在任意位置通過右鍵菜單完成。

 

選擇恢復後,出現對話框,選擇要恢復的文件/目錄,然後完成恢復操作

 

選擇確認操作後,完成恢復操作

 

7. 提交衝突問題

在進行正常的提交時,如果本地版本與服務器版本不相同,會引發衝突問題。

 

解決衝突問題共分爲三個步驟:

步驟一:獲取服務器最新版本

 

同時,針對版本不統一的文件信息,會生成對應的文件,供用戶查看

 

帶有黃色驚歎號的文件表示當前文件與SVN服務器中的文件衝突,並已將衝突內容進行了合併,需要用戶手工修改。

.mine後綴的文件是用戶在更新之前的最後修改版本內容,可通過原始編輯器查看

.r*後綴的文件是當前文件對應的各個版本的文件內容,r後面的數字是版本號,可

通過原始編輯器查看

步驟二:查看並修改衝突文件

打開原始文件,其中包含有衝突內容,用戶根據需要進行調整

步驟三:刪除衝突備份信息,並進行提交

將除衝突文件之外所生成的所有文件進行刪除,並對原始文件進行合併衝突處理後,原始文件狀態由衝突狀態轉換爲已編輯狀態。

                        

此時即可正常提交,實際開發此現象大多發生在公共配置文件或系統配置文件上。

界面操作解決方案:

步驟一:獲取服務器最新版本(同上)

步驟二:查看並修改衝突文件

 

針對衝突代碼進行建議處理

 

選中衝突行(紅色標識)

 

步驟三:標識解決衝突

 

確認解除衝突,操作完畢後,臨時文件將被刪除

 

8. 避免提交衝突——爲文件加鎖(基於權限)

對不希望出現衝突的文件添加屬性

 

添加新的屬性

 

添加svn:needs-lock屬性

 

確認添加屬性

 

加鎖操作是爲文件設置了一種狀態,也屬於對文件的修改,因此需要進行提交。加鎖前與加鎖後,文件的顯示狀態發生變化。

                       

 

 

 

提交衝突問題是使用SVN等版本控制工具中令用戶最爲頭疼的問題,爲避免提交衝突,可以爲任何一個加入版本控制的資源提供鎖,避免多用戶同時操作同一文件引發衝突。由於文件鎖定後,只能由一個用戶操作,實際開發中沒有實用性,不推薦使用。

對加鎖文件的操作分爲三個步驟:

步驟一:獲取鎖

 

獲取鎖後,顯示當前被文件被某個用戶鎖定

 

此時其他用戶再次獲取當前文件鎖時出現衝突,同時無法對文件進行操作

 

此時鎖定文件的用戶顯示文件被鎖定

 

步驟二:操作編輯文件,並提交,提交完畢後,恢復未鎖定狀態。

 

十一. 
用戶權限管理

svnserve.confsvn服務器配置

anon-access = write

匿名用戶訪問版本庫權限,可選值read/write/none

auth-access = write

授權用戶訪問版本庫權限,可選值read/write/none

password-db = passwd

用戶名密碼文件,可以使用絕對路徑,如果使用相對路徑指相對於conf目錄的位置路徑。注意:如果該選項不開啓,用戶名密碼文件將失效

authz-db = authz

授權管理文件,可以使用絕對路徑,如果使用相對路徑指相對於conf目錄的位置路徑。注意:如果該選項不開啓,授權管理將失效

realm = My First Repository

版本庫認證域名稱,也就是需要認證的倉庫名

passwd用戶名密碼管理

[users]

設定用戶信息

harry = harryssecret

用戶名 = 密碼

注意:用戶名與密碼間的空白

authz授權管理

[groups]

設定用戶組,便於管理

harry_and_sally = harry,sally

用戶組名 = 用戶名1,用戶名2,用戶名3……

 

[/foo/bar]

設定訪問權限按目錄結構進行設定,根結構寫爲[/]

harry = rw

用戶名 = 讀寫權限 r-讀 w-

@ harry_and_sally = rw

@用戶組名 讀寫權限

* =

除上述設定外,其他用戶權限爲無

十二. 
SVN本地導入與導出

1. 導入

使用導入功能,可以快速爲SVN倉庫添加資源文件或目錄層次結構,對某個要導入的文件夾執行如下右鍵功能

 

注意:導入的資源僅包含指定目錄內的內容,不包含所選中目錄

2. 導出

SVN管理的文件,每個目錄中都有一個隱含文件,記錄了與SVN相關的信息,導出時,此類文件夾將被過濾掉,不跟隨導出。對某個要導出的SVN本地工廠執行如下右鍵功能

 

然後選擇導出位置,此時保存的目錄將不攜帶SVN管理目錄

十三. 
SVN整合MyEclipse

Eclipse/MyEclipse添加SVN插件支持,共分五個步驟

步驟一 通過官網subclipse.tigris.org下載插件文件

eclipse_svn_site-1.6.5.zip myeclipse-svn-site-1.6.16.zip

步驟二:解壓壓縮包中featuresplugins文件夾,並複製到任意目錄X。注意目錄中不能包含有中文或空格字符。

步驟三:在MyEclipse安裝目錄的dropins目錄下,創建文本文件,文件名任意,擴展名爲.link,錄入svn.link,並編輯內容如下:

path=X   注意:路徑中的分隔符使用\\

path=E:\\MyEclipse\\myPlugin\\svn

步驟四:刪除MyEclipse安裝目錄下的configuration\org.eclipse.update目錄,重新加載配置信息

步驟五:啓動MyEclipse,視圖中添加了SVN的管理視圖模式

SVN實用操作

工程層次目錄

repositoryName

trunk 用於保存開發主線

branches 用於保存支線副本

tags 用於保存標籤副本

Subversion 提供了主線、分支管理技術,使得在軟件開發中可以更方便、靈活的對項目的進度、版本的發佈、版本的維護、軟件功能的拓展與定製進行管理。

主線(trunk):一個項目建立時就存在,並伴隨着項目的成長而不斷的成長,直到項目完全結束。

分支(branch):一般是指功能分支,例如:我們的某個項目要添加一個模塊,但這個模塊又比較複雜,實現難度比較大。爲了不影響主線的穩定,我們就可以創建一個功能分支來專門開發這個模塊,當這個模塊開發完成以後,並通過測試部門的各項測試,再合併到主線中去。再比如,我們的交警 GPS 項目已經開發完成了,但是這個項目是給泉州交警做的,現在我們又接到了一個交警項目,不過是要給廈門交警大隊的。現在廈門交警大隊要求我們給他們定製一些功能。我們又不想再主線上進行修改,這個時候,我們也可以創建一個分支,並在這個分支上開發,這時是不會對主線造成影響的。等給廈門開發完成了以後,我們發現,他們要求的有些功能其實很好,以後別的地方可能也需要同樣的功能。這個時候我們就可以根據我們的需要,將有用的模塊有選擇的合併到主線中來。

標籤(tag):標籤和分支一樣,也是一個目錄,不過這個目錄中一般存放的是發佈的信息(當然我們也可以只用分支,但是用標籤更清楚明瞭一些)。還是拿我們的交警項目來舉個例子:我們的交警項目開發完成了以後,要拿給泉州交警大隊用了,也就是要發佈(release),假設這個版本叫做1.0.2。這個時候,我們就要創建一個標籤,當泉州交警大隊用了三個月,發現了一個 BUG,我們只需要簽出這個標籤中的代碼(它和我們剛提供給泉州交警大隊時候的是一模一樣的),進行調試,並修正這個 BUG。然後再發佈一個版本,假設叫做1.1.0,這個時候我們就在創建一個 1.1.0的標籤……

要注意,標籤目錄裏面的代碼,要進行嚴格的控制,除了修正 BUG 外,不能做任何其他的事情。

共享工程

檢出工程

提交

更新

恢復刪除物理刪除

恢復歷史版本

歷史版本比對

同步

衝突

 

十四. 
SVN服務器整合

使用SVN進行版本控制需要基於SVN服務,實際開發中還存在另一種常見的服務提供方式,即將SVN部署到HTTP服務器中,通過http協議訪問。由於SVN管理的僅僅是文件,不存在動態資源,因此使用HTTP服務器即可。

一.Apache服務器安裝與測試

1. 下載Apache服務器安裝客戶端

apache_2.2.14-win32-x86-no_ssl.msi

2. 安裝Apache服務器

 

 

 

 

 

3. 安裝過程中會進行服務的註冊,連續彈出三次DOS提示框。

4. 此時快捷任務欄會添加Apache服務器的圖標,默認爲開啓狀態。

 

5. 通過右鍵菜單可以控制Apache服務器。

 

6. 控制窗口設置服務器狀態。

 

7. 通過瀏覽器訪問http://localhost,測試服務器安裝是否成功。

 

二.Apache服務器整合SVN,將SVN服務器訪問權限交由Apache管理控制

1. 修改Apache配置文件\conf\httpd.conf,開啓下列兩行配置(L:83 L:84)

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

注:上述配置中的文件可以在Apache安裝目錄的modules目錄中查找到

2. 將下列兩行配置添加到上述內容後面

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

注:上述配置中的文件有SVN提供,可以在SVN的安裝目錄中bin目錄中查找到

3. SVN目錄下bin目錄中上述兩個文件拷貝到Apache安裝目錄的modules目錄中

4. 使用Apache安裝目錄bin目錄中的htpasswd指令爲Apache服務器添加SVN訪問權限

創建文件,保存用戶權限,格式:htpasswd -cb [filename] [username] [password]

htpasswd -cb svn.pwd jock 123

添加用戶權限到指定文件,格式:htpasswd -b [filename] [username] [password]

htpasswd b svn.pwd jockme 123

注:操作完成後,會生成svn.pwd文件,該文件可以使用任意名稱

5. 將生成的密碼文件svn.pwd移動到指定的SVN倉庫配置路徑conf目錄下,與之前的三個配置文件同層

注:該文件是使用MD5加密後的文件,可以查閱,但不能修改,否則無法使用

    密碼文件存放的位置不是SVN安裝路徑,是SVN倉庫路徑

6. Apache服務器中添加SVN配置

添加到Apache服務器安裝路徑下的conf目錄中的httpd.conf文件的最後,內容如下:

#配置虛擬目錄#

<location /svn/project>

#引用遠程訪問模塊

DAV svn

#項目版本庫路徑#

SVNPath E:\repository\svn\itcast

#授權文件#

AuthzSVNAccessFile E:\repository\svn\itcast\conf\authz

#所有用戶都需要身份驗證#

Satisfy Any

Require valid-user

#驗證方式#

AuthType Basic

#項目的名稱#

AuthName "project"

#用戶文件#

AuthUserFile E:\repository\svn\itcast\conf\svn.pwd

</location>

說明:

<location /svn/project>

通過該路徑訪問SVN倉庫,根據需要進行修改

SVNPath E:\repository\svn\itcast

SVN倉庫路徑,即保存SVN版本文件的目錄路徑

AuthzSVNAccessFile E:\repository\svn\itcast\conf\authz

SVN訪問授權文件

AuthUserFile E:\repository\svn\itcast\conf\svn.pwd

Apache整合SVN專用授權用戶文件

7. 重啓服務器,通過Apache服務器訪問SVN版本管理

http://localhost/svn/project

三.使用Apache服務器整合SVN倉庫

通過TortoiseSVN訪問Apache服務器

 

通過MyEclipse訪問Apache服務器

 

十五. 
CVS簡介(瞭解)

安裝

配置

登錄

set cvsroot=:pserver:[email protected]/project

cvs login

添加用戶

cvs passwd -a jockme

cvs passwd -a zhangsan

cvs passwd -a lisi

cvs passwd -a -r jock zhangsan

cvs passwd -a -r jockme lisi

MyEclipse使用CVS

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章