成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

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

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

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

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


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


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

【編輯推薦】

  1. SVN庫(kù)的目錄結(jié)構(gòu)詳解
  2. SVN管理與應(yīng)用相關(guān)的資料參考手冊(cè)
  3. 兩種常見(jiàn)SVN庫(kù)結(jié)構(gòu)簡(jiǎn)明介紹
  4. 兩種方法輕松訪問(wèn)SVN庫(kù)
  5. SVN服務(wù)器安裝指導(dǎo)手冊(cè)
責(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庫(kù)

2010-06-02 10:36:41

SVN開(kāi)發(fā)

2010-05-27 10:23:01

SVN文檔

2010-05-27 12:58:07

SVN升級(jí)

2010-07-06 14:20:41

UML時(shí)序圖

2010-06-02 10:47:37

SVN開(kāi)發(fā)

2010-09-17 10:53:45

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

2010-05-20 15:32:38

SVN分支與合并

2010-06-01 12:19:27

SVN分支與合并

2023-04-11 08:00:56

Redis類型編碼

2022-09-27 18:56:28

ArrayList數(shù)組源代碼

2025-06-04 08:30:00

seata分布式事務(wù)開(kāi)發(fā)

2024-02-05 19:06:04

DartVMGC流程

2010-06-30 16:29:29

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

2010-06-09 18:06:52

UML活動(dòng)圖
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 三级欧美 | 在线看成人av| 在线观看日本高清二区 | 99久久久久久99国产精品免 | 亚洲第一网站 | 国产成都精品91一区二区三 | 亚洲中国字幕 | 亚洲美女视频 | 一级爱爱片 | 国产精品九九九 | 精品人伦一区二区三区蜜桃网站 | 精品国产欧美一区二区三区成人 | 日韩在线视频免费观看 | 久久在线看 | 欧美午夜一区二区三区免费大片 | 天天躁日日躁狠狠躁白人 | 一区二区三区影院 | 国产在线拍偷自揄拍视频 | 日韩一区二区三区精品 | 黄色成人av | 超碰国产在线 | 91亚洲精品在线观看 | 古典武侠第一页久久777 | 中文字幕在线免费观看 | 亚洲视频中文字幕 | 中文字幕乱码视频32 | 视频一区二区在线观看 | 成人免费视频一区二区 | 国产一区二区日韩 | 精品国产免费人成在线观看 | 超级碰在线 | 激情欧美一区二区三区中文字幕 | 亚洲精品一区二区三区在线 | 影音先锋欧美资源 | 欧美xxxⅹ性欧美大片 | 久久一级免费视频 | 蜜桃av鲁一鲁一鲁一鲁 | 亚洲欧美激情精品一区二区 | 欧美一区二区三区视频在线 | 久久久久久亚洲精品 | www.蜜桃av |