Subversion是新一代的版本控制工具,由于其優(yōu)于CVS的一些特點(diǎn),得到了越來越多人的關(guān)注和使用,本人根據(jù)自己使用SVN的經(jīng)驗(yàn),寫了這篇文章,希望對大家有所幫助,其中有些實(shí)踐并不是僅僅適用于SVN,對其他版本控制工具也是適用的。
1、養(yǎng)成良好的記錄日志的習(xí)慣.
svn ci提交,最好在日志中記下清晰明確的信息,這個非常重要,對以后的維護(hù)(包括合并)都有很大幫助。
2、格式統(tǒng)一.
開發(fā)人員提交的文件格式要保持一致,統(tǒng)一為DOS格式或者UNIX格式,同時(shí)提交前對源代碼采用統(tǒng)一的風(fēng)格格式化(比如jalopy),這樣對以后的合并、查看修改信息會更加方便。
3、如何把分支合并到主干上。.
只需要比較分支的初始狀態(tài)與最終狀態(tài),然后將這些分支的修改應(yīng)用到主干目錄的工作拷貝。
步驟:
(1)、在本地將最新的主干取出
svn co
http://svn.example.com/repos/example/trunk example
(2)、到當(dāng)前的example目錄下合并分支,4889,4906分別表示分支的最初版本號和最終版本號
svn merge -r 4889:4906
http://svn.example.com/repos/example/branches/branches_test4、典型的svn目錄結(jié)構(gòu)
project/branches/
project/tags/
project/trunk/
5、項(xiàng)目代碼測試發(fā)布前別忘打上tag,作為一個基準(zhǔn).代表一次發(fā)布版本。
6、實(shí)用的SVN命令
* svn copy 創(chuàng)建分支或者標(biāo)簽
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 刪除你的本地修改,恢復(fù)到修改前的狀態(tài).
* 查一個過去的版本,重定向輸出到一個文件
svn cat -r 2 rules.txt > rules.txt.v2
*svn info 查看當(dāng)前工作拷貝是在主干還是在哪個分支上。
subeclipse下載地址
http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240啟動服務(wù)
??? svnserve -d -r d:\svn
其中的 -d 參數(shù)表示 svnserve.exe 將會作為一個服務(wù)程序運(yùn)行在后臺,而 -r 參數(shù)表示將 ``D:\svn`` 目錄指定為代碼庫的根目錄。這樣,當(dāng)客戶端使用類似 svn://192.168.0.1/foo 這樣內(nèi)容的 URL 來訪問服務(wù)器時(shí)候,其所訪問到的真實(shí)代碼庫,其實(shí)就是 ``D:\svn\foo``
在服務(wù)器端的 ``D:\svn`` 目錄下,建立一個名為 arm 的代碼庫,命令如下::
創(chuàng)建代碼庫
? ? D:\svn>svnadmin create arm
使用上述命令之后,如果不出問題的話,在 ``D:\svn`` 目錄下就會多出一個叫做 ``arm`` 的目錄,其下具備 conf、dav、hooks、locks、db 等子目錄或文件,此即 **一個名為arm的代碼庫** 。從此,通過 ``svn://192.168.0.1/arm`` 這樣的 URL,我們就可以對這個代碼庫進(jìn)行訪問了。接下來就要進(jìn)入本文的正題了,也就是權(quán)限配置部分了。
posted on 2006-12-11 18:00
有貓相伴的日子 閱讀(1914)
評論(3) 編輯 收藏 所屬分類:
軟件工程