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

SVN分支維護專家在線

開發 項目管理
本文和大家討論一下SVN分支維護問題,SVN具有很強的靈活性,所以SVN就會有很多的分支,那么如何對這些分支進行維護呢,本文就為大家解決這個問題。

本節講解一下如何進行SVN分支維護,前面幾節我們講了SVN的分支與合并,相信大家應該掌握了,下面就SVN分支維護問題和大家討論一下,希望對你有所啟發。
你一定注意到了Subversion極度的靈活性,因為它用相同的底層機制(目錄拷貝)實現了分支和標簽,因為分支和標簽是作為普通的文件系統出現,會讓人們感到害怕,因為它太靈活了,在這個小節里,我們會提供安排和管理數據的一些建議。

版本庫布局

有一些標準的,推薦的組織版本庫的方式,許多人創建一個trunk目錄來保存開發的“主線”,一個branches目錄存放分支拷貝,一個tags目錄保存標簽拷貝,如果一個版本庫只是存放一個項目,人們會在頂級目錄創建這些目錄: 

  1. /trunk  
  2. /branches  
  3. /tags  
  4. [/pre]如果一個版本庫保存了多個項目,管理員會通過項目來布局(見“規劃你的版本庫結構”一節關于“項目根目錄”):  
  5. /paint/trunk  
  6. /paint/branches  
  7. /paint/tags  
  8. /calc/trunk  
  9. /calc/branches  
  10. /calc/tags  
  11. [/pre] 

當然,你可以自由的忽略這些通常的布局方式,你可以創建任意的變化,只要是對你和你的項目有益,記住無論你選擇什么,這不會是一種永久的承諾,你可以隨時重新組織你的版本庫。因為分支和標簽都是普通的目錄,svnmove命令可以任意的改名和移動它們,從一種布局到另一種大概只是一系列服務器端的移動,如果你不喜歡版本庫的組織方式,你可以任意修改目錄結構。記住,盡管移動目錄非常容易,你必須體諒你的用戶,你的修改會讓你的用戶感到迷惑,如果一個用戶的擁有一個版本庫目錄的工作拷貝,你的svnmove命令也許會刪除最新的版本的這個路徑,當用戶運行svnupdate,會被告知這個工作拷貝引用的路徑已經不再存在,用戶需要強制使用svnswitch轉到新的位置。下面我們看一下SVN分支維護中數據的生命周期。

數據的生命周期

另一個Subversion模型的可愛特性是分支和標簽可以有有限的生命周期,就像其它的版本化的項目,舉個例子,假定你最終完成了calc項目你的個人分支上的所有工作,在合并了你的所有修改到/calc/trunk后,沒有必要繼續保留你的私有分支目錄: 

  1. $svndeletehttp://svn.example.com/repos/calc/branches/my-calc-branch\  
  2. -m"Removingobsoletebranchofcalcproject."  
  3. Committedrevision375.  
  4. [/pre] 

你的分支已經消失了,當然不是真的消失了:這個目錄只是在HEAD修訂版本里消失了,如果你使用svncheckout、svnswitch或者svnlist來檢查一個舊的版本,你仍會見到這個舊的分支。
如果瀏覽你刪除的目錄還不足夠,你可以把它找回來,恢復數據對Subversion來說很簡單,如果你希望恢復一個已經刪除的目錄(或文件)到HEAD,僅需要使用svncopy-r來從舊的版本拷貝出來: 

  1. $svncopy-r374http://svn.example.com/repos/calc/branches/my-calc-branch\  
  2. http://svn.example.com/repos/calc/branches/my-calc-branch  
  3. Committedrevision376.[/pre]  

 在我們的例子里,你的個人分支只有一個相對短的生命周期:你會為修復一個Bug或實現一個小的特性來創建它,當任務完成,分支也該結束了。在軟件開發過程中,有兩個“主要的”分支一直存在很長的時間也是很常見的情況,舉個例子,假定我們是發布一個穩定的calc項目的時候了,但我們仍會需要幾個月的時間來修復Bug,你不希望添加新的特性,但你不希望告訴開發者停止開發,所以作為替代,你為軟件創建了一個“分支”,這個分支更改不會很多: 

  1. $svncopyhttp://svn.example.com/repos/calc/trunk\  
  2. http://svn.example.com/repos/calc/branches/stable-1.0\  
  3. -m"Creatingstablebranchofcalcproject."  
  4. Committedrevision377.  
  5. [/pre] 

而且開發者可以自由的繼續添加新的(試驗的)特性到/calc/trunk,你可以宣布這樣一種政策,只有bug修正提交到/calc/branches/stable-1.0,這樣的話,人們繼續在主干上工作,某個人會選擇在穩定分支上做出一些Bug修正,甚至在穩定版本發布之后。你或許會在這個維護分支上工作很長時間—也就是說,你會一直繼續為客戶提供這個版本的支持。到這里SVN分支維護問題講解完畢不知你掌握了沒有。 

【編輯推薦】

  1. Subversion版本升級兼容性以及合并跟蹤相關問題報道 上篇
  2. Subversion版本升級兼容性以及合并跟蹤相關問題報道 下篇
  3. 版本控制工具CVS與SVN誰主沉浮
  4. 獨立服務器SVNServer安裝大揭秘
  5. 專家實例講解Apache+SVN權限管理問題

 

責任編輯:佚名
相關推薦

2010-05-28 15:57:20

SVN分支

2010-05-28 17:00:24

SVN分支與合并

2010-06-01 12:49:04

SVN分支模式

2010-05-28 17:30:58

SVN分支

2010-05-27 18:09:08

Apache SVN配

2010-05-28 15:47:29

SVN分支

2010-05-26 16:17:46

2010-06-01 12:36:04

SVN分支與合并

2010-06-01 19:47:29

SVN分支與合并

2010-05-27 09:41:05

SVN沖突

2010-06-02 09:45:02

SVN學習筆記

2010-05-31 16:29:22

SVN權限配置

2010-05-20 16:38:40

Subversion常

2010-06-01 12:19:27

SVN分支與合并

2010-05-20 15:32:38

SVN分支與合并

2010-05-31 13:00:49

MyEclipse配置

2010-05-31 13:54:52

2010-05-28 19:35:33

Myeclipse下S

2010-06-01 09:18:46

SVN創建項目

2010-06-01 11:22:30

SVN合并跟蹤
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 极品的亚洲 | 亚洲精品视频二区 | 一区二区高清 | 在线观看亚 | 粉嫩av久久一区二区三区 | 亚洲综合中文字幕在线观看 | 国产精品免费一区二区三区四区 | 一区二区视频在线 | 色综合天天天天做夜夜夜夜做 | 亚洲视频免费在线观看 | 欧美一级片在线看 | 久久久国产精品 | 日韩在线xx | 自拍视频网站 | 国产在线观看不卡一区二区三区 | 看羞羞视频 | 九九综合 | 国产精品日韩在线 | 三区四区在线观看 | 国产视频导航 | aⅴ色国产 欧美 | 337p日本欧洲亚洲大胆精蜜臀 | 97成人精品 | 免费毛片网 | 日本天堂一区二区 | 精品国产一级 | av中文字幕网站 | 日韩欧美专区 | 91精品欧美久久久久久久 | 91久久久久久久久久久 | 日韩在线欧美 | 国产精品一区二区视频 | 国产91丝袜 | 国产精品久久久久久久久久 | 精品国产一区二区国模嫣然 | 欧一区 | 日韩一区精品 | 久久毛片| 在线综合视频 | 久久久高清 | 国产成人亚洲精品自产在线 |