Subversion是新一代的開源的版本控制工具,目前有望替代CVS,成為版本控制的首選系統。subversion在Windows下的安裝和使用也很方便。
1、下載subversion:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
最新版本:
svn-1.4.4-setup.exe
2、下載用戶端
TortoiseSVN是擴充Windows Shell的一套工具,可以看作Windows資源管理員的外掛程式,安裝之後Windows就可以識別Subversion的工作目錄。
http://tortoisesvn.net/downloads
TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.msi
3、安裝
直接雙擊安裝程式,分別安裝subversion伺服器和用戶端。
4、建立版本庫
Subversion的版本庫(repository),就是位於伺服器端統一管理和儲存資料的地方。要建立一個版本庫,首先要確定採用哪種資料存放區方式。在Subversion中,版本庫的資料存放區有兩種方式,一種是在 Berkeley DB資料庫中存放資料;另一種是使用普通檔案,採用自訂的格式來儲存,稱為FSFS。
兩種存放方式各有優缺點,這裡有一個簡明的比較。
特性 |
Berkeley DB |
FSFS |
對操作中斷的敏感 |
很敏感;系統崩潰或者許可權問題會導致資料庫“塞住”,需要定期進行恢複。 |
不敏感 |
可唯讀載入 |
不能 |
可以 |
儲存平台無關 |
不能 |
可以 |
可從網路檔案系統訪問 |
不能 |
可以 |
版本庫大小 |
稍大 |
稍小 |
擴充性:修訂版本樹數量 |
無限制 |
某些本地檔案系統在處理單一目錄包含上千個條目時會出現問題。 |
擴充性:檔案較多的目錄 |
較慢 |
較慢 |
檢出最新代碼的速度 |
較快 |
可以 |
大量提交的速度 |
較慢,但時間被分配在整個提交操作中 |
較快,但最後較長的延時可能會導致用戶端操作逾時 |
組訪問權處理 |
對於使用者的 umask 設定十分敏感,最好只由一個使用者訪問。 |
對 umask 設定不敏感 |
功能成熟時間 |
2001 年 |
2004 年 |
確定了具體的資料存放區類型,只要在命令列當中執行svnadmin命令就可以建立一個Subversion版本庫,命令如下:
svnadmin create d:/www/svn_repository
也可以在資源管理員通過TortoiseSVN建立
建立好的repository結構如下:
5、配置使用者
用記事本開啟d:/www/svn_repository/conf/svnserve.conf
取消password-db = passwd前面的注釋,修改後為:
[general]
password-db = passwd
開啟d:/www/svn_repository/conf/passwd
取消使用者名稱前的注釋,修改後為:
[users]
harry = harryssecret
sally = sallyssecret
儲存檔案。
6、啟動subversion伺服器
在命令列運行:
svnserve -d -r d:/www/svn_repository
注意:不要關閉命令列視窗,否則會停止subversion伺服器。
7、初始化匯入
在希望匯入的檔案夾上點擊右鍵,選擇
TortoiseSVN->Import...
url位置填寫:svn://localhost或者svn://youripaddress
使用者名稱/密碼提示框輸入passwd中的使用者名稱和密碼,匯入成功後的介面:
8、用戶端基本操作
建立一個專案檔夾D:/svn_test
在檔案夾上點擊右鍵,選擇SVN Checkout …,url位置輸入:svn://localhost或者svn://youripaddress
即可得到一份專案檔,修改檔案並儲存後,在檔案上點擊右鍵,選擇SVN Commit ...即可更新版本。
在專案檔上點擊右鍵,可以看到TortoiseSVN更多的操作選項:
如果選擇Show log,即可看見檔案的操作曆史,在版本1上點擊右鍵,選擇Compare with working copy可以看到當前工作檔案和版本1的區別。
9、將Subversion作為服務啟動
Windows命令sc可以用於建立服務,在命令列視窗執行以下命令:
sc create svn binpath= "/"D:/www/Subversion/bin/svnserve.exe/" --service --root /"D:/www/svn_repository/""
出現[SC] CreateService SUCCESS表示服務安裝成功,這個時候在系統服務中可以看到svn服務,設定為手動或自動啟動就隨你了。
需要注意的是,命令列中binpath=後面的空格和/都需要保留,用於sc命令解析後面的語句。