自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SVN目錄結(jié)構(gòu)組成深度剖析

開發(fā) 項(xiàng)目管理
本文和大家一起學(xué)習(xí)一下SVN目錄結(jié)構(gòu)的組成,版本庫布局很多人問我”什么是推薦的版本庫布局?”,”trunk是什么意思?”或”trunk有什么意義?”,本文將會嘗試回答這個(gè)問題。

本節(jié)向大家講解一下SVN目錄結(jié)構(gòu)組成,之前幾節(jié)我們學(xué)習(xí)了SVN庫的目錄結(jié)構(gòu)相信大家應(yīng)該掌握了,在這里和大家簡單介紹一下SVN目錄結(jié)構(gòu)組成,歡迎大家一起來學(xué)習(xí)。

首先看一下下面的這個(gè)結(jié)構(gòu)。

wolfwebadmin
├─ProjectManagement
│├─trunk
│├─branches
│└─tags
└─SSO
├─trunk
├─branches
└─tags
大概的說一下,ProjectManagement和SSO是兩個(gè)項(xiàng)目trunk是開發(fā)的主線代碼,存放能夠運(yùn)行的正確的代碼;程序員如果開發(fā)新的程序或者改bug,一般要先branch(SVN的一個(gè)功能)trunk目錄下的代碼到branches目錄的一個(gè)子目錄,在那里對代碼進(jìn)行修改,確認(rèn)無誤后再提交到trunk主線下(但是有的時(shí)候?yàn)榱诵?我們也多人都在trunk目錄下開發(fā)項(xiàng)目).tags目錄可以看做主線代碼的快照,比如你做了1.0又做了2.0,那每個(gè)不同版本的代碼你就做快照放到tags文件夾下了。

一個(gè)Subversion版本庫實(shí)現(xiàn)了一種版本化的文件系統(tǒng),版本庫只是一個(gè)包含目錄和文件的文件系統(tǒng),而且它的文件系統(tǒng)是版本化的,并且實(shí)現(xiàn)了”廉價(jià)”拷貝,讓它的這種操作比傳統(tǒng)文件系統(tǒng)便宜很多,但是版本庫本身還是像一個(gè)文件系統(tǒng):Subversion本身沒有特別的目錄或名稱用來代表trunk或branches,他們只是文件系統(tǒng)的普通目錄,這依賴于你給這些目錄名和結(jié)構(gòu)的一種意義。也就是說,社區(qū)已經(jīng)采納了多種普通的布局作為最佳實(shí)踐,因此一個(gè)人可以將其視為推薦方式。如果你的版本庫是公共訪問的,根據(jù)這些習(xí)慣,用戶可以方便的訪問版本庫來查找他們所需要的。
有兩種常見的SVN目錄結(jié)構(gòu)布局:
trunk
branches
tags
第一種布局是版本庫包含一個(gè)項(xiàng)目或一組緊密聯(lián)系項(xiàng)目的最佳選擇,這個(gè)布局非常好用,因?yàn)榉种c標(biāo)簽整個(gè)項(xiàng)目或一組項(xiàng)目會非常簡單,只需要一個(gè)簡單的命令:
svncopyurl://repos/trunkurl://repos/tags/tagname-m“Createtagname”
這可能是最常用的版本庫布局,被許多開源項(xiàng)目采用,就像Subversion本身和Subclipse,這是大多數(shù)主機(jī)站點(diǎn),如Tigris.org,SourceForge.net和GoogleCode遵循的方法,這些站點(diǎn)的每個(gè)項(xiàng)目有自己的版本庫。
另一種SVN目錄結(jié)構(gòu)布局是針對一個(gè)版本庫包含不相關(guān)項(xiàng)目的最佳選擇。
ProjectA
trunk
branches
tags
ProjectB
trunk
branches
tags
在這種布局里,每個(gè)項(xiàng)目會存在頂級目錄里,然后該目錄之下創(chuàng)建trunk/branches/tags,其中與第一種布局相同,這只是將項(xiàng)目放到自己版本庫方式的替換,他們都在一個(gè)版本庫中。Apache軟件基金會使用這種布局方式來存放他們的所有項(xiàng)目在一個(gè)版本庫。
通過這種布局,每個(gè)項(xiàng)目都有自己的分支和標(biāo)簽,可以很容易使用一個(gè)命令創(chuàng)建分支和標(biāo)簽,就像前面展示的:
svncopyurl://repos/ProjectA/trunkurl://repos/ProjectA/tags/tagname-m“Createtagname”
這種布局可以簡單的創(chuàng)建同時(shí)包含ProjectA和ProjectB的標(biāo)簽,你可以這樣做,但是需要多個(gè)命令,你也要決定是否創(chuàng)建一個(gè)特別的目錄存放這種分支和標(biāo)簽,如果你需要經(jīng)常這樣做,你或許應(yīng)該考慮第一種SVN目錄結(jié)構(gòu)布局。

至于版本庫中目錄的名稱,再說一遍:只是一種習(xí)慣,他們在Subversion中沒有特別含義。
“trunk”可以認(rèn)為是項(xiàng)目的開發(fā)主線,你可以稱之為“main”,”mainline”,”production”或任何你喜歡的名字。
“branches”是放置分支的地方,人們因各種目的使用分支,你或許希望通過特性分支或客戶修改分支來隔離你的發(fā)布或維護(hù)分支等,在這個(gè)例子里,你可以在branches創(chuàng)建一層目錄,或只是在頂級目錄創(chuàng)建多個(gè)分支目錄。


“tags”也不會被Subversion特別對待,他們只是習(xí)慣,或許通過鉤子腳本或授權(quán)規(guī)則進(jìn)行強(qiáng)制,來指明你創(chuàng)建了一個(gè)時(shí)間點(diǎn)的快照,通常情況下tags與分支的區(qū)別就是tags一旦創(chuàng)建不能修改,你也可以將標(biāo)簽?zāi)夸浗凶觥眗eleases”,”snapshots”,”baselines”或任何你喜歡的。
記住,名稱對你有意義,不是Subversion。最后,Subversion的架構(gòu),全局修訂版本經(jīng)常使得標(biāo)簽沒有必要,我不知道只是因?yàn)橐獎(jiǎng)?chuàng)建tag而創(chuàng)建tag有什么意義,如果你需要在特定時(shí)間點(diǎn)重建軟件,你可以通過svnlog來確定相關(guān)的修訂版本號。tags對于版本庫的”外部”用戶很有用,或許QA/Release團(tuán)隊(duì)需要執(zhí)行構(gòu)建,或許是一個(gè)內(nèi)部開發(fā)小組希望在另一個(gè)產(chǎn)品使用發(fā)布版本,或是外部用戶或客戶希望根據(jù)字面含義從版本庫獲取發(fā)布快照,在這些場景中,創(chuàng)建tag是保證獲取正確代碼的最簡單方法,也需要有好的交流機(jī)制來指明發(fā)布快照。


希望本文可以為你澄清一些問題,讓你更好的理解Subversion是如何工作的。最后,我希望指出Subversion版本庫的布局是可以修改的,你可以一直重組和重構(gòu)布局,最壞情況下,會讓用戶調(diào)整他們的工作拷貝,但不會讓你從頭再來,你應(yīng)該自由的改名,移動目錄或任何你希望改變版本庫的方式去做。本節(jié)關(guān)于SVN目錄結(jié)構(gòu)講解完畢,請關(guān)注本節(jié)其他相關(guān)報(bào)道。
 

【編輯推薦】

  1. SVN庫的目錄結(jié)構(gòu)詳解
  2. SVN管理與應(yīng)用相關(guān)的資料參考手冊
  3. 兩種常見SVN庫結(jié)構(gòu)簡明介紹
  4. 兩種方法輕松訪問SVN庫
  5. SVN服務(wù)器安裝指導(dǎo)手冊
責(zé)任編輯:佚名
相關(guān)推薦

2010-05-24 16:58:44

SVN安裝

2011-05-23 14:20:59

WordPress

2010-03-02 13:23:11

Android手機(jī)程序

2010-05-25 10:24:42

設(shè)置SVN權(quán)限

2010-05-27 10:53:54

SVN目錄結(jié)構(gòu)

2010-05-26 19:05:06

SVN庫

2010-06-02 10:36:41

SVN開發(fā)

2010-05-27 10:23:01

SVN文檔

2010-05-27 12:58:07

SVN升級

2010-06-02 10:47:37

SVN開發(fā)

2010-07-06 14:20:41

UML時(shí)序圖

2010-09-17 10:53:45

Java運(yùn)行環(huán)境

2010-05-27 11:12:10

SVN目錄結(jié)構(gòu)

2010-06-01 12:19:27

SVN分支與合并

2010-05-20 15:32:38

SVN分支與合并

2023-04-11 08:00:56

Redis類型編碼

2010-06-30 16:29:29

UML數(shù)據(jù)建模

2010-06-09 18:06:52

UML活動圖

2010-05-24 18:46:50

SVN圖標(biāo)

2022-09-27 18:56:28

ArrayList數(shù)組源代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號