快速配置與使用SVN服務器
對于Eclipse中的SVN工具大家并不陌生,但說起Subversion服務器環境的搭建,大家也許會覺得有些陌生。這里我給出了搭建 Subversion服務器的快速步驟及可能會遇到的問題,幫助大家輕松完成自己SVN版本管理。本文可分為兩大部分,一是windows環境下使用桌面客戶端工具來搭建SVN服務器環境,二是Eclipse下SVN插件的使用。文中有部分內容引自subversion中文站,感謝他們的創作。
1. 軟件下載
Subversion服務器可以到官方網站下載,也可以直接點擊下載svn-1.4.0-setup.exe 。
TortoiseSVN是在window環境下使用的Subversion客戶端,可以看作Windows資源管理器的插件,安裝之后Windows就可以識別Subversion的工作目錄。官方網站是TortoiseSVN
,下載方式和前面的svn服務器類似,在Download頁面的我們可以選擇下載的版本,目前的最高穩定版本的安裝文件為TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi。
2. 軟件安裝
服務器安裝,直接運行svn-1.4.0-setup.exe,根據提示安裝即可,這樣我們就有了一套服務器可以運行的環境。安裝TortoiseSVN,同樣直接運行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按照提示安裝即可,不過最后完成后會提示是否重啟,其實重啟只是使svn工作拷貝在windows中的特殊樣式生效,與所有的實際功能無關,這里為了立刻看到好的效果,還是重新啟動機器。
3. 建立版本庫
運行Subversion服務器需要首先要建立一個版本庫(Repository),可以看作服務器上存放數據的數據庫,
我們可以使用TortoiseSVN圖形化的完成這一步:在目錄E:"subversion"repository下"右鍵->TortoiseSVN->Create
Repository here...“,然后可以選擇版本庫模式,使用默認即可,然后就創建了一系列目錄和文件。
4. 配置用戶和權限
來到E:"subversion"repository"conf目錄,修改svnserve.conf:
# [general]
# password-db = passwd
改為:
[general]
password-db = passwd 然后修改同目錄的passwd文件,去掉下面三行的注釋:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后變成:
[users]
harry = harryssecret
sally = sallyssecret
注意:去掉#號后,要使當前行頂格,不要留在行頭留出空格來;否則,會在創建版本數據庫時出錯
5. 運行獨立服務器
進入命令提示符,輸入svnserve -d -r E:"subversion"repository,我們的服務器程序就已經啟動了。
注意:不要關閉命令行窗口,關閉窗口也會把svnserve停止。
6A. 建立trunk目錄
在地址欄輸入svn://localhost/后回車,則會彈出‘Repository
Browser' 對話框
可以在對話框中創建新的目錄trunk,然后添加源代碼(添加源代碼這個動作也可以在6B中實現,更為方便)。
6B. 添加源工程文件
來到我們想要導入的項目根目錄,本例中是E:"subversion"projects,目錄下有兩個需要導入的工程文件夾:在空白處右鍵->TortoiseSVN->Import...
,在彈出對話框的URL of repository框中輸入“svn://localhost/” ,然后確認。完成之后目錄沒有任何變化,導入過程中會在在彈出的對話框中顯示導入文件的信息,這樣就可以將當前目錄下的所有文件都導入到我們剛定義的版本庫中。
需要注意的是,這一步操作可以完全在另一臺安裝了TortoiseSVN的主機上進行。例如運行svnserve的主機的IP是133.96.121.22,則URL部分輸入的內容就是“svn://133.96.121.22/”。
至此,SVN 服務器端配置完畢,你也可以點擊此處觀看動畫教程下面便可以憑借Eclipse下的svn客戶端插件來對源工程進行同步開發。
Eclipse 下SVN插件我用過的有SVNkit 和SubEclipse。關于它們的使用方法,我在這里只介紹下針對剛才服務器端的配置,我們在checkout時的幾項設置,如下:
URL:svn://localhost
User:harry
Password:harryssecret
大家要學習它們的用法,可以通過搜索網站獲得更詳盡的資料,我不再贅述,但有一點需要特別指出:
因為剛才服務器端的Subversion 版本較新,而我當時用的SVNKit插件版本為1.1.1,在commit代碼時,總會拋出'Malformed network
data' (畸形的網絡數據)異常,但事后更新代碼,卻又發現它已經更新成功。所以如果是在裝了以上Subversion1.4版本的服務器情況下,還是推薦使用SubEclipse的最新版本。
資源庫:
<svn://localhost:3690>
c27b875b-1052-cc4c-b0f9-db9c84fdcd78