SVN中trunk,branches,tags用法詳解

SVN中trunk,branches,tags用法詳解

ID:38165250

大小:17.29 KB

頁數(shù):4頁

時間:2019-06-06

SVN中trunk,branches,tags用法詳解_第1頁
SVN中trunk,branches,tags用法詳解_第2頁
SVN中trunk,branches,tags用法詳解_第3頁
SVN中trunk,branches,tags用法詳解_第4頁
資源描述:

《SVN中trunk,branches,tags用法詳解》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、SVN中trunk,branches,tags詳細(xì)解說詳解11.trunk是主分支,是日常開發(fā)進(jìn)行的地方。2.branches是分支。一些階段性的release(發(fā)布、發(fā)行)版本,這些版本是可以繼續(xù)進(jìn)行開發(fā)和維護(hù)的,則放在branches目錄中。又比如為不同用戶客制化的版本,也可以放在分支中進(jìn)行開發(fā)。3.tags目錄一般是只讀的,這里存儲階段性的發(fā)布版本,只是作為一個里程碑的版本進(jìn)行存檔。注意:svn并沒有明確的規(guī)范,更多的還是用戶自己的習(xí)慣。下面是詳細(xì)介紹:比如一個項目有main.cpp,common.h兩個文件,假設(shè)目前在開發(fā)的是最新的3.0版本,而且1.0/2.0版本也在進(jìn)行

2、維護(hù),那么項目樹將類似如下樣子:project

3、+--trunk+

4、++-----main.cpp(3.0版本的最新文件)++-----common.h++--branches+

5、++--r1.0++

6、+++----main.cpp(1.x版本的最新文件)+++----common.h++++--r2.0+

7、++----main.cpp(2.x版本的最新文件)++----common.h++--tags(此目錄只讀)

8、+--r1.0+

9、++----main.cpp(1.0版本的發(fā)布文件)++----common.h++--r1.1+

10、++----main.cpp(1.1版本的發(fā)布文

11、件)++----common.h++--r1.2+

12、++----main.cpp(1.2版本的發(fā)布文件)++----common.h++--r1.3+

13、++----main.cpp(1.3版本的發(fā)布文件)++----common.h++--r2.0+

14、++----main.cpp(2.0版本的發(fā)布文件)++----common.h++--r2.1

15、+----main.cpp(2.1版本的發(fā)布文件)+----common.h要使用這樣的文件夾結(jié)構(gòu),在建立項目版本庫時,可首先建好項目文件夾,并在其中建立trunk,branches,tags三個空的子目錄,再將項目文件夾連同這三個子目錄

16、一起導(dǎo)入版本庫。這樣在trunk中開始進(jìn)行開發(fā),當(dāng)需要建立branch或tag時,使用SVN的copy操作進(jìn)行。其中tags目錄需要只讀,可以使用SVN中的authz文件控制該目錄的訪問權(quán)限為只讀.詳解2Subversion有一個很標(biāo)準(zhǔn)的目錄結(jié)構(gòu),是這樣的。比如項目是proj,svn地址為svn://proj/,那么標(biāo)準(zhǔn)的svn布局是svn://proj/

17、+-trunk+-branches+-tags這是一個標(biāo)準(zhǔn)的布局,trunk為主開發(fā)目錄,branches為分支開發(fā)目錄,tags為tag存檔目錄(不允許修改)。但是具體這幾個目錄應(yīng)該如何使用,svn并沒有明確的規(guī)范,更多的還是

18、用戶自己的習(xí)慣。對于這幾個開發(fā)目錄,一般的使用方法有兩種。我更多的是從軟件產(chǎn)品的角度出發(fā)(比如freebsd),因?yàn)榛ヂ?lián)網(wǎng)的開發(fā)模式是完全不一樣的。1.第一種方法,使用trunk作為主要的開發(fā)目錄一般的,我們的所有的開發(fā)都是基于trunk進(jìn)行開發(fā),當(dāng)一個版本/release開發(fā)告一段落(開發(fā)、測試、文檔、制作安裝程序、打包等)結(jié)束后,代碼處于凍結(jié)狀態(tài)(人為規(guī)定,可以通過hook來進(jìn)行管理)。此時應(yīng)該基于當(dāng)前凍結(jié)的代碼庫,打tag。當(dāng)下一個版本/階段的開發(fā)任務(wù)開始,繼續(xù)在trunk進(jìn)行開發(fā)。此時,如果發(fā)現(xiàn)了上一個已發(fā)行版本(ReleasedVersion)有一些bug,或者一些很急迫

19、的功能要求,而正在開發(fā)的版本(DevelopingVersion)無法滿足時間要求,這時候就需要在上一個版本上進(jìn)行修改了。應(yīng)該基于發(fā)行版對應(yīng)的tag,做相應(yīng)的分支(branch)進(jìn)行開發(fā)。例如,剛剛發(fā)布1.0,正在開發(fā)2.0,此時要在1.0的基礎(chǔ)上進(jìn)行bug修正。按照時間的順序1.0開發(fā)完畢,代碼凍結(jié)?基于已經(jīng)凍結(jié)的trunk,為release1.0打tag此時的目錄結(jié)構(gòu)為svn://proj/+trunk/(freeze)+branches/+tags/+tag_release_1.0 (copyfromtrunk)?2.0開始開發(fā),trunk此時為2.0的開發(fā)版?發(fā)現(xiàn)1.0有b

20、ug,需要修改,基于1.0的tag做branch此時的目錄結(jié)構(gòu)為svn://proj/+trunk/(dev2.0)+branches/+dev_1.0_bugfix(copyfromtag/release_1.0)+tags/+release_1.0 (copyfromtrunk)?在1.0bugfixbranch進(jìn)行1.0bugfix開發(fā),在trunk進(jìn)行2.0開發(fā)?在1.0bugfix完成之后,基于dev_1.0_bugfix的branch做release等?根

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。