日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
兩種常見SVN庫(kù)結(jié)構(gòu)簡(jiǎn)明介紹

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

“trunk”可以認(rèn)為是項(xiàng)目的開發(fā)主線,你可以稱之為“main”,”mainline”,”production”或任何你喜歡的名字。
“branches”是放置分支的地方,人們因各種目的使用分支,你或許希望通過特性分支或客戶修改分支來隔離你的發(fā)布或維護(hù)分支等,在這個(gè)例子里,你可以在branches創(chuàng)建一層目錄,或只是在***目錄創(chuàng)建多個(gè)分支目錄。
“tags”也不會(huì)被SVN特別對(duì)待,他們只是習(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”或任何你喜歡的。記住,名稱對(duì)你有意義,不是SVN。***,SVN的架構(gòu),全局修訂版本經(jīng)常使得標(biāo)簽沒有必要,我不知道只是因?yàn)橐獎(jiǎng)?chuàng)建tag而創(chuàng)建tag有什么意義,如果你需要在特定時(shí)間點(diǎn)重建軟件,你可以通過svnlog來確定相關(guān)的修訂版本號(hào)。tags對(duì)于版本庫(kù)的”外部”用戶很有用,或許QA/Release團(tuán)隊(duì)需要執(zhí)行構(gòu)建,或許是一個(gè)內(nèi)部開發(fā)小組希望在另一個(gè)產(chǎn)品使用發(fā)布版本,或是外部用戶或客戶希望根據(jù)字面含義從版本庫(kù)獲取發(fā)布快照,在這些場(chǎng)景中,創(chuàng)建tag是保證獲取正確代碼的最簡(jiǎn)單方法,也需要有好的交流機(jī)制來指明發(fā)布快照。
***,我希望指出SVN版本庫(kù)的庫(kù)結(jié)構(gòu)是可以修改的,你可以一直重組和重構(gòu)庫(kù)結(jié)構(gòu),最壞情況下,會(huì)讓用戶調(diào)整他們的工作拷貝,但不會(huì)讓你從頭再來,你應(yīng)該自由的改名,移動(dòng)目錄或任何你希望改變版本庫(kù)的方式去做。本文關(guān)于SVN庫(kù)結(jié)構(gòu)的內(nèi)容講解完畢。

【編輯推薦】

  1. 實(shí)用SVN配置教程淺析
  2. 詳解使用SVN配置自動(dòng)更新WEB服務(wù)器
  3. ApacheSVN服務(wù)器安裝指導(dǎo)手冊(cè)
  4. Centos下SVN的安裝配置實(shí)用手冊(cè)
  5. SVN服務(wù)器安裝指導(dǎo)手冊(cè)

當(dāng)前標(biāo)題:兩種常見SVN庫(kù)結(jié)構(gòu)簡(jiǎn)明介紹
文章網(wǎng)址:http://www.dlmjj.cn/article/dpjgjhh.html