SVN版本控制安裝配置說明

 

版本控制好工具備SVN、CVS、VSS等多種,他們的優劣在此不說明,請網絡參閱。html

SVN支持多種平臺,此文僅描述Windows平臺下使用說明。數據庫

SVN客戶包含客戶端和服務端。Windows平臺下客戶端使用TortoiseSVN,而服務端可以使用SubVersion或者VisualSVN Server。windows

二者區別以下:瀏覽器

  1. SubVersion服務須要封裝SVN Serve爲Windows Service,才能自啓動;
  2. SubVersion控制權限,須要經過修改配置文件;
  3. SubVersion想經過瀏覽器訪問,須要安裝配置Apache。

  而VisualSVN Serve集成了Subversion和Apache,省去了以上全部的麻煩。安裝的時候SVN Server已經封裝爲windws service,Apache服務器的配置也只是在圖像界面上,指定認證方式、訪問端口等簡單操做;另外,用戶權限的管理也是經過圖像界面來配置。服務器

本文描述內容針對SubVersion使用。由於要的就是原始、整潔和穩定,也更接近Linux使用方式。網絡

1、           下載安裝ide

1. 下載svn

  1. 服務器:Setup-Subversion-1.8.0-1.msi
  2. 客戶端:TortoiseSVN-1.8.5.25224-win32-svn-1.8.8.msi
  3. Apache服務:httpd-2.2.25-win32-x86-openssl-0.9.8y.msi

  注意,此3個軟件版本有可能不匹配。工具

2. 安裝測試

  通常狀況下,Subversion服務器僅供局域網/本地使用,因此不須要Apache服務器。如需Apache服務器,能夠參考《Apache服務安裝及配置》。如出現沒法安裝msi文件,或許須要下載安裝新windows installer。 

1>     服務器安裝

  1. 雙擊Setup-Subversion-1.8.0-1.msi,一直下一步,完成svn服務端軟件安裝。
  2. 配置系統環境變量Path新增D:\Program Files\Subversion\bin(注意本文安裝路徑是D:\Program Files\Subversion)。
  3. 進入DOS界面,輸入svnserve.exe –version。以驗證查看服務器軟件安裝是否成功。

2>     客戶端安裝,雙擊TortoiseSVN-1.8.5.25224-win32-svn-1.8.8.msi,一直下一步,完成svn客戶端軟件安裝。本文安裝路徑D:\Program Files\TortoiseSVN。

3>     不習慣TortoiseSVN英文菜單界面的朋友,能夠下載TortoiseSVN中文語言包安裝,如LanguagePack_1.8.4.24972-win32-zh_CN.msi,安裝完成後,在TotoriseSVNà SettingsàGeneralàLanguage選擇「中文」。

2、           建立版本庫

首先建立一個空文件夾,如D:\svnRoot,做爲全部版本庫的根目錄,便於集中管理全部版本庫。有兩種方式能夠建立版本庫:

第一種:TortoiseSVN方式建立。在D:\svnRoot目錄下,新建一個空文件夾,如D:\svnRoot\repose1,單擊鼠標右鍵,選擇「TortoiseSVN」à「Create repository here」完成建立

第二種:SubVersion方式建立。在開始菜單運行cmd進入DOS界面,輸入

                            svnadmin create D:\svnRoot\repose2                  (建立版本庫)

完成版本庫建立。

3、           啓動SVN服務

  在服務器DOS界面,輸入

                  svnserve.exe --daemon --root D:\svnRoot                  (啓動服務)

  能夠寫成svnserve.exe -d -r D:\svnRoot。--daemon,表示svnserve將以守護進程方式運行,當關閉當前命令行窗口就會把svnserve stop了。使用SVN服務,命令行窗口須要服務器一直開着。咱們能夠經過svnserve -h來查看相關操做選項。

4、           配置用戶和權限

  1. 打開版本庫D:\svnRoot\repose1\conf\svnserve.conf文件,把裏面的被# 註釋的password-db = passwd,去掉前面的 # 註釋符,而且前面不能有空格。這樣將會使用confpasswd文件做爲密碼數據庫。
  2. 修改密碼數據庫passwd,添加user:

          [users]

          admin = 123                 (用戶名 = 密碼,一行一個account)

  ( 無需重啓服務器,便可使用!若是提示「認證失敗」,請檢查此步驟的配置)

  此部分進一步詳情可參考《SVN用戶和權限配置》。

5、           訪問版本庫

  接下來能夠經過TortoiseSVN -> Repo-browser來查看版本庫:在點擊那個菜單項後彈出的URL對話框中輸入

          svn://localhost/repos1                                              (訪問版本庫)

  這樣就能夠看見repos1版本庫的目錄結構了。其餘電腦訪問須要把localhost改爲本機IP地址,其餘電腦只須要安裝TortoiseSVN客戶端便可。

注意:在此版本,本人測試先「svnserve.exe --daemon --root D:\svnRoot」啓動,再訪問「svn://localhost/repos1」,提示沒法訪問。而是啓動「D:\svnRoot\repose1」,再「svn://localhost」訪問repose1版本庫。

6、           開始新的項目

  1. 添加新的文件到版本庫Import

   選中待管理的文件所在文件夾,如E:\codes\NTPacket,単擊鼠標右鍵,選擇「TortoiseSVN」à「Import」à肯定,在身份認證彈出框,輸入passwd文件里正確的用戶名和密碼,便可上傳成功。

  1. 簽出版本庫裏面的項目Checkout

  選擇一個空白地方或者新建一個空文件夾,単擊鼠標右鍵,選擇「SVN Checkout」,而後確認在身份認證彈出框,輸入passwd文件里正確的用戶名和密碼,便可簽出。

  1. 修改文件Commit及Update。Checkout到本地的文件,能夠修改,修改後選中當前文件或其目錄,鼠標右鍵,彈出菜單多出「SVN Update」及「SVN Commit」, Commit提交這次修改,Update從新下載服務器文件至本地。
  2. 導出版本庫Export。checkout下載文件到本地後,與svn服務器有仍有狀態關聯,能夠修改提交等。而export僅僅是下載文件到本地,以後與svn服務器沒任何關聯,修改後也沒法提交。

7、           服務自啓動

  通常狀況,啓動SVN服務,須要每次執行步驟三,DOS窗口還必須一直開着。這樣很不方便,能夠把步驟三封裝成Windows Service自啓動。

  1. 新建一個空bat文件,如svnSer.bat,輸入

sc create svnlt binpath= "\"D:\Program Files\Subversion\bin\svnserve.exe\" --service --root \"D:\SvnRoot\repose2\"" displayname= "Subversion Server" depend= Tcpip start= auto

  說明:a. svnlt爲服務名;b. 賦值=左邊沒空格,右邊有一個空格;c.注意路徑中的」號及\書寫正確。

  1. 雙擊svnSer.bat文件,完成Windows Service註冊。
  2. 啓動svnlt服務有兩種方式:第一種,重啓電腦,svnlt服務會自啓動;第二種,在DOS界面執行net start svnlt語句完成啓動。

            net start svnlt                       (啓動svn版本庫服務)

            net stop svnlt                       (中止服務)

            sc delete svnlt                      (刪除服務,後需從新註冊svnlt服務)

8、           多版本庫與用戶權限配置

  1. 多版本庫結構

  通常狀況,部門組織或開發團隊有多個項目須要版本控制,可多個項目共用以一個版本庫,也能夠每個項目對應一個版本庫,建議用後者。

  SVNRoot爲根目錄,爲MobilePlatform項目建立一個版本庫,爲KTCoder項目建立另外一個版本庫,項目KTCoder下有兩文件夾Kernel和Business。

1>     新建空目錄D:\SVNRoot;

2>     cmd命令行,進入DOS界面執行svnadmin create D:\svnRoot\MobilePlatform建立版本庫MobilePlatform;

3>     DOS界面執行svnadmin create D:\svnRoot\KTCoder建立版本庫KTCoder;

4>     svnServe.exe –d –r D:\svnRoot啓動服務。TortoiseSVN Repository Browser 中URL欄輸入svn://localhost/MobliePlatform訪問MobilePlatform項目版本庫,svn://localhost/KTCoder訪問KTCoder項目版本庫。

  1. 用戶權限配置

  人員狀況(權限舉例):

  1. Lz,公司老總,分配只讀全部文檔的權限;
  2. Wfh,Zg,項目經理,分配本身管轄項目讀寫權限,及其餘項目只讀權限;
  3. Lyk,KTCoder項目核心開發人員,Kernel模塊惟一開發者,Kernel讀寫,其餘讀寫;
  4. Whx,KTCoder項目開發人員,Kernel模塊只讀,Business模塊讀寫;
  5. Dgy,MobilePlatform項目開發人員;
  6. Fyh,svn管理員。

1>     打開版本庫下的conf\svnserve.conf文件,刪除下面幾行的前面註釋符#和空格。MobilePlatform版本庫與KTCoder版本庫一致處理。

        [general]

        # anon-access = read     à anon-access = none  //匿名訪問,改爲none

        # auth-access = write    à auth-access = write

        # password-db = passwd      à password-db = passwd //指定用戶密碼文件

        # authz-db = authz         à authz-db = authz      //指定權限文件

         能夠指定上面兩個文件的路徑。

2>     打開版本庫下的KTCoder\conf\ passwd文件,添加

          [users]

          Lz = 123

          Wfh = 123

          Zg = 123

          Lyk = 123

          Whx = 123

          Dgy = 123

          Fyh = 123

3>     打開版本庫下的KTCoder\conf\ authz文件,添加

        [groups]

        g_vip = Lz, Wfh

 

        [KTCoder:/]

        @g_vip = rw

        Fyh = rw

        Lyk = r

        Whx = r     

        * =

 

        [KTCoder:/Kernel]

        Lyk = rw

        Fyh =

 

        [KTCoder:/Business]

        Whx = rw                       

  此authz文件權限分配結果是:

  1. Zg,Dgy, KTCoder項目無任何權限;
  2. Lz ,Wfh,整個項目全部文件讀寫權限;
  3. Lyk,Kernel讀寫,其餘全部文件只讀;
  4. Whx,Business讀寫,其餘全部文件只讀;
  5. Fyh, KTCoder、Business目錄下文件讀寫,Kernel無權限。

4>     a. 權限能夠分組,「g_vip = Lz, Wfh」,而後給組分配權限「@g_vip = rw」;b. 「*  = 」表示任何人沒有權限;c. authz在本庫下時,[KTCoder:/Kernel] 中的根目錄能夠寫成[Kernel]

SubVersion權限示例:http://coldtear.iteye.com/blog/28440

5>     權限在文件目錄間父子繼承、聯合,以子目錄爲準。

9、           Apache服務安裝及配置

  1. 雙擊httpd-2.2.25-win32-x86-openssl-0.9.8y.msi文件開始安裝。

 

  1. 完成安裝後,打開瀏覽器,輸入地址http://localhost測試安裝是否成功。

 

  1. 個人電腦à屬性à高級à環境變量à系統環境變量Path新增「D:\Program Files\Apache Software Foundation\Apache2.2\bin」。
  2. 複製D:\Program Files\Subversion\bin下的so文件至D:\Program Files\Apache Software Foundation\Apache2.2\modules。

 

  1. 打開文件D:\Program Files\Apache Software Foundation\Apache2.2\conf\ httpd.conf找到下面兩行,去掉前面的註釋符#。

              #LoadModule dav_module modules/mod_dav.so

              #LoadModule dav_fs_module modules/mod_dav_fs.so

       新增下面兩行

                                LoadModule dav_svn_module modules/mod_dav_svn.so

              LoadModule authz_svn_module modules/mod_authz_svn.so

  1. httpd.conf文件末,新增下一段代碼

              <Location /svn>

              DAV svn

              SVNListParentPath on

              SVNParentPath D:/SVNRoot

              </Location>

        在瀏覽器中輸入http://localhost/svn/可訪問svnRoot下全部版本庫文件。

 

  1. 若是須要啓用用戶驗證及其權限分配,添加以下

            <Location /svn>

            DAV svn

            SVNListParentPath on                               ‘如註銷,則沒法訪問

            SVNParentPath D:/SVNRoot

            AuthzSVNAccessFile D:/SVNRoot/myAccess

            #Satisfy Any                                             ‘不認證時是否顯示一級目錄

            AuthType Basic

            AuthName "SubVerion LTong"

            AuthUserFile D:/SVNRoot/myUser

            Require valid-user

            </Location>

  1. 權限文件

  權限文件myAccess與SubVersion版本庫權限文件配置格式一致。

  1. 用戶密碼文件

  用戶密碼文件與SubVersion版本庫用戶文件格式不一致,須要DOS下

        htpasswd –cb myUser admin               ‘第一次建立用戶文件

  而後輸入密碼兩次,建立myUser後,能夠新增用戶

        Htpasswd myUser fu                          ‘而後輸入密碼兩次

10、           Eclipses vn插件

  1. 安裝

http://welcome66.iteye.com/blog/1845176

  1. 使用

http://www.cnblogs.com/dongritengfei/archive/2010/03/03/1677308.html

http://subclipse.group.iteye.com/group/wiki/1619-subclipse-getting-started-guide-and-reference-b

11、   Visual Studio2005 svn插件

  1. 安裝
  2. 使用

http://blog.csdn.net/panderman/article/details/7707785

http://haner0926.blog.163.com/blog/static/2184154820071129111018599/

http://blog.163.com/haohengzhen@126/blog/static/76137910201211093727571/

相關文章
相關標籤/搜索