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

SVN目錄結構組成深度剖析

開發 項目管理
本文和大家一起學習一下SVN目錄結構的組成,版本庫布局很多人問我”什么是推薦的版本庫布局?”,”trunk是什么意思?”或”trunk有什么意義?”,本文將會嘗試回答這個問題。

本節向大家講解一下SVN目錄結構組成,之前幾節我們學習了SVN庫的目錄結構相信大家應該掌握了,在這里和大家簡單介紹一下SVN目錄結構組成,歡迎大家一起來學習。

首先看一下下面的這個結構。

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

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

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


“tags”也不會被Subversion特別對待,他們只是習慣,或許通過鉤子腳本或授權規則進行強制,來指明你創建了一個時間點的快照,通常情況下tags與分支的區別就是tags一旦創建不能修改,你也可以將標簽目錄叫做”releases”,”snapshots”,”baselines”或任何你喜歡的。
記住,名稱對你有意義,不是Subversion。最后,Subversion的架構,全局修訂版本經常使得標簽沒有必要,我不知道只是因為要創建tag而創建tag有什么意義,如果你需要在特定時間點重建軟件,你可以通過svnlog來確定相關的修訂版本號。tags對于版本庫的”外部”用戶很有用,或許QA/Release團隊需要執行構建,或許是一個內部開發小組希望在另一個產品使用發布版本,或是外部用戶或客戶希望根據字面含義從版本庫獲取發布快照,在這些場景中,創建tag是保證獲取正確代碼的最簡單方法,也需要有好的交流機制來指明發布快照。


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

【編輯推薦】

  1. SVN庫的目錄結構詳解
  2. SVN管理與應用相關的資料參考手冊
  3. 兩種常見SVN庫結構簡明介紹
  4. 兩種方法輕松訪問SVN庫
  5. SVN服務器安裝指導手冊
責任編輯:佚名
相關推薦

2010-05-24 16:58:44

SVN安裝

2011-05-23 14:20:59

WordPress

2010-03-02 13:23:11

Android手機程序

2010-05-25 10:24:42

設置SVN權限

2010-05-27 10:53:54

SVN目錄結構

2010-05-26 19:05:06

SVN庫

2010-06-02 10:36:41

SVN開發

2010-05-27 10:23:01

SVN文檔

2010-05-27 12:58:07

SVN升級

2010-07-06 14:20:41

UML時序圖

2010-09-17 10:53:45

Java運行環境

2010-06-02 10:47:37

SVN開發

2010-06-01 12:19:27

SVN分支與合并

2010-05-20 15:32:38

SVN分支與合并

2022-09-27 18:56:28

ArrayList數組源代碼

2025-06-04 08:30:00

seata分布式事務開發

2024-02-05 19:06:04

DartVMGC流程

2023-04-11 08:00:56

Redis類型編碼

2010-06-30 16:29:29

UML數據建模

2010-06-09 18:06:52

UML活動圖
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜久久久久 | 国产日产久久高清欧美一区 | 精品中文字幕在线观看 | 久久国产高清视频 | 亚洲精品中文字幕 | 日韩中文字幕 | 久久综合av| 农村妇女毛片精品久久久 | 国产美女特级嫩嫩嫩bbb片 | 日韩欧美一区二区三区免费观看 | 日韩视频精品在线 | 免费在线观看黄网站 | 国产亚洲成av人片在线观看桃 | 久久成人精品一区二区三区 | 欧美vide| 精品无码久久久久久国产 | 日韩精品1区2区 | 色视频网站免费 | 欧美日韩国产不卡 | 国产一区亚洲 | 在线a视频 | 亚洲品质自拍视频网站 | 欧美久久天堂 | 日韩亚洲欧美一区 | 亚洲一区二区三区在线 | 一区二区电影网 | 久久香焦| a视频在线观看 | 亚洲第一中文字幕 | 亚洲综合天堂网 | 亚洲视频在线观看免费 | 影音av| 秋霞电影一区二区 | 国产精品视频一区二区三区, | 久操国产 | 欧美精品在线播放 | 秋霞电影一区二区三区 | 一本一道久久a久久精品蜜桃 | 午夜影视大全 | 亚洲情综合五月天 | 欧美专区在线视频 |