Subversion是新一代的版本控制工具,由于其優于CVS的一些特點,得到了越來越多人的關注和使用,本人根據自己使用SVN的經驗,寫了這篇文章,希望對大家有所幫助,其中有些實踐并不是僅僅適用于SVN,對其他版本控制工具也是適用的。
1、養成良好的記錄日志的習慣.
svn ci提交,最好在日志中記下清晰明確的信息,這個非常重要,對以后的維護(包括合并)都有很大幫助。
2、格式統一.
開發人員提交的文件格式要保持一致,統一為DOS格式或者UNIX格式,同時提交前對源代碼采用統一的風格格式化(比如jalopy),這樣對以后的合并、查看修改信息會更加方便。
3、如何把分支合并到主干上。.
只需要比較分支的初始狀態與最終狀態,然后將這些分支的修改應用到主干目錄的工作拷貝。
步驟:
(1)、在本地將最新的主干取出
svn co http://svn.example.com/repos/example/trunk example
(2)、到當前的example目錄下合并分支,4889,4906分別表示分支的最初版本號和最終版本號
svn merge -r 4889:4906 http://svn.example.com/repos/example/branches/branches_test
4、典型的svn目錄結構
project/branches/
project/tags/
project/trunk/
5、項目代碼測試發布前別忘打上tag,作為一個基準.代表一次發布版本。
6、實用的SVN命令
* svn copy 創建分支或者標簽
svn copy http://svn.example.com/repos/calc/trunkhttp://svn.example.com/repos/calc/tags/release-1.0 -m "Tagging the 1.0 release of the 'calc' project."
* svn switch 切換工作拷貝到指定的分支或者返回主干
svn switch http://svn.example.com/repos/calc/branches/my-calc-branch
* svn diff 版本比較
svn diff rules.txt 比較本地修改
svn diff --r 3 rules.txt 比較工作拷貝和版本庫
svn diff --r 2:3 rules.txt 比較版本庫與版本庫
* svn revert 刪除你的本地修改,恢復到修改前的狀態.
* 查一個過去的版本,重定向輸出到一個文件
svn cat -r 2 rules.txt > rules.txt.v2
*svn info 查看當前工作拷貝是在主干還是在哪個分支上。
subeclipse下載地址
http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240
啟動服務
??? svnserve -d -r d:\svn
其中的 -d 參數表示 svnserve.exe 將會作為一個服務程序運行在后臺,而 -r 參數表示將 ``D:\svn`` 目錄指定為代碼庫的根目錄。這樣,當客戶端使用類似 svn://192.168.0.1/foo 這樣內容的 URL 來訪問服務器時候,其所訪問到的真實代碼庫,其實就是 ``D:\svn\foo``
在服務器端的 ``D:\svn`` 目錄下,建立一個名為 arm 的代碼庫,命令如下::
創建代碼庫
? ? D:\svn>svnadmin create arm
使用上述命令之后,如果不出問題的話,在 ``D:\svn`` 目錄下就會多出一個叫做 ``arm`` 的目錄,其下具備 conf、dav、hooks、locks、db 等子目錄或文件,此即 **一個名為arm的代碼庫** 。從此,通過 ``svn://192.168.0.1/arm`` 這樣的 URL,我們就可以對這個代碼庫進行訪問了。接下來就要進入本文的正題了,也就是權限配置部分了。