版本控制——SubVersion的建立以及與Apache Server的整合

來源:互聯網
上載者:User

    每個項目中,原始碼的版本控制是不可少的,不敢想象如果一個沒有好的版本控制的項目會是什麼樣,一定是Source管理異常混亂的那種。常用的版本控制工具以前有2種,分別是微軟的VSS,開源的CVS,現在則有了強大的SubVersion。

    以前做項目一般用CVS比較多,畢竟免費麼,不過CVS有個比較大的遺憾就是管理文檔有點力不從心,特別是檔案名稱或者檔案夾名中帶有漢字的時候,如果某些漢字的第一個位元組的編碼正好和CVS中的有些關鍵字符一致的話,那麼就會出現檔案夾名亂碼的情況,這個情況以前我也被困擾過,後來乾脆用了微軟的VSS解決掉的。

    VSS管理文檔不錯,不過由於不支援多使用者同時checkout和merge的功能,所以在開發項目中還是覺得有點不便,好像在Visual Studio 2005中附帶的VSS可以有支援Merge的功能了,不過自己沒有用過,也就不再忘加評論。

    這裡著重說一下SubVersion,以前這東西我只是聽說過,也從SourceForge上把Spring的最新的原始碼給checkout下來過,不過具體怎麼建立Subversion還都沒有研究過。今天一時興起,看了協助文檔還有一些資料,成功配置了Subversion,也把Subversion和Apache Server進行了整合。

    首先安裝Apache Server,我裝的是2.0.59版本的Apache,據說別的低版本的Apache Server可能會運行有問題,不過用這個版本的Apache Server應該比較好。第二安裝SubVersion,在Google很快就可以搜尋到SubVersion的安裝檔案下載。先安裝好Apache Server 再安裝Subversion的話,在SubVersion中就會自動更新Apache Server的httpd.conf設定檔,否則的話,我們需要自己手工修改設定檔,修改如下。

首先需要添加如下兩行

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.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"

其中,前兩行只要把原來注釋符號去掉就好了,後面兩行subVersion的so檔案需要自己手動指定。

然後在Apache的httpd.conf中還要增加如下一段

<Location /svn>
DAV svn
SVNParentPath D:/svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile D:/passwd
Require valid-user
</Location>

其中/svn代表用http的訪問路徑,D:/svn指定了svn的存放路徑,AuthType Basic代表採用Basic方式進行認證,認證的使用者名稱密碼檔案是D:/passwd ,其中只允許認證的使用者才能訪問。passwd檔案的建立比較簡單,利用Apache的bin目錄下的htpasswd.exe來產生,比如htpasswd.exe -c passwd xudl這個命令,就會在目前的目錄下建立一個passwd的檔案,其中建立一個使用者,使用者名稱是xudl,在後來的命令提示裡面會讓你輸入密碼的,等密碼得到確認以後,一個passwd檔案就完成了。

把剛才的passwd檔案複製到D:根目錄下,因為在剛才Location中有這麼一個配置AuthUserFile D:/passwd,所以把passwd檔案放在了相應的位置。

這個時候伺服器都配置完畢,開始要匯入一個倉庫到SVN中了,在命令列下輸入

svnadmin create /svn/repos,然後就會建立了一個repos倉庫。這個時候用瀏覽器輸入http://127.0.0.1/svn/repos 以後,在正確輸入使用者名稱密碼以後,就會看到一個SVN的list畫面,這個時候倉庫是空的,所以一個檔案都沒有。我們現在開始匯入工程,採用如下的命令

svn import . file:///svn/repos --message "Initial repository"

就可以把當前的目錄倒入到倉庫中了,再用svn co file:///svn//repos    就可以把剛才倒入的souce給重新checkout出來了。

在匯入以後再用瀏覽器訪問http://127.0.0.1/svn/repos ,然後就可以看到你剛才checkin的東西了。自此,我們的SubVersion配置初步完成。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.