您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源配置管理工具 > SVN
Subversion合并跟蹤
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/28 15:02:54 ] 推薦標(biāo)簽:

3. 這對(duì)你意味著什么?

開發(fā)團(tuán)隊(duì)多年里成功使用Subversion分支和合并,但是合并跟蹤提供了許多好處:

    合并跟蹤添加了審計(jì)/跟蹤能力(那些代碼合并了,何時(shí),何地?)。許多組織因?yàn)楣芾砟康男枰@個(gè)特性。
    合并跟蹤減少了錯(cuò)誤和管理費(fèi)用。團(tuán)隊(duì)會(huì)因?yàn)镾ubversion的合并跟蹤功能提高生產(chǎn)力。
    經(jīng)常合并很重要。兩個(gè)開始相同的文件會(huì)隨著時(shí)間變得很不一樣,不同的越多,越難以合并。如果經(jīng)常合并,增量的區(qū)別會(huì)比較小,會(huì)易于合并。合并跟蹤可以使得易于經(jīng)常合并。
    許多選擇Subversion的公司采用限制分支的策略,他們不能從好的分支策略和并行開發(fā)中得到好處,例如:他們選擇在主開發(fā)線開發(fā)一個(gè)風(fēng)險(xiǎn)很大的新特性,結(jié)果是項(xiàng)目成員要處理經(jīng)常的構(gòu)建錯(cuò)誤。
    終的好處:一些公司還沒(méi)有使用Subversion,而使用傳統(tǒng)的昂貴的工具,他們?cè)诘却喜⒏櫋?/p>

4. Subversion 1.5的合并跟蹤

Subversion 1.5記錄合并時(shí)發(fā)生的事情:它會(huì)跟蹤合并,所以下一次Subversion會(huì)記住上一次合并的事情,這個(gè)特性支持了下面的用例:

    重復(fù)合并:本周將分支合并到另一個(gè)分支,下一周再做一遍。Subversion會(huì)記住已經(jīng)合并的東西,而且只合并新的修改。
    沖突解決的自動(dòng)合并。Subversion可以自動(dòng)完成合并的大多數(shù)工作,但是合并不可避免的帶來(lái)沖突,Subversion的內(nèi)部合并算法不能解決。如果這樣,Subversion會(huì)告訴用戶手工解決沖突。Mark Phippard的講了這個(gè)問(wèn)題。
    Cherry picking:合并只針對(duì)一個(gè)或部分修改,而不是所有的修改。
    記錄手工合并:有時(shí)候用戶會(huì)手工合并一些東西(使用編輯器從一個(gè)文件拷貝代碼到另一個(gè)文件),Subversion 1.5具備明確添加手工合并的能力,所以合并跟蹤信息依然完整。
    合并回退:取消一個(gè)合并。合并經(jīng)常不是很完美,你會(huì)發(fā)現(xiàn)一些事情出了問(wèn)題,Subversion允許你取消合并。
    合并審計(jì):合并數(shù)據(jù)會(huì)自動(dòng)添加到提交日志(Mark Phippard也講了這個(gè)問(wèn)題)。

5. GUI客戶端和合并跟蹤

如果Subversion的GUI客戶端支持它,合并跟蹤會(huì)真的非常強(qiáng)大。GUI客戶端會(huì)利用合并跟蹤特性讓合并易于使用,而且對(duì)所有用戶都更加接近。CollabNet在一個(gè)Eclipse的合并跟蹤客戶端上工作,未來(lái)的幾天可能會(huì)有一個(gè)預(yù)覽,openCollabNet這里。

Subversion 1.5對(duì)客戶端有一個(gè)反饋,例如:有時(shí)候Subversion不能自動(dòng)合并兩個(gè)文件,需要開發(fā)者解決”合并沖突”,Subversion會(huì)告訴客戶,由客戶來(lái)決定怎樣做,例如Subclipse會(huì)將沖突文件發(fā)送到Eclipse的圖形化diff工具,所以用戶可以解決這個(gè)沖突(它實(shí)際上進(jìn)行了3方 diff,但是那超出了本文的范圍)。

6. 合并跟蹤早期采用計(jì)劃

為了加快Subversion 1.5的合并跟蹤特性的開發(fā),CollabNet在openCollabNet開始了一個(gè)Merge Tracking Early Adopter Program,在這個(gè)程序里你可以看到:

    Subversion合并跟蹤設(shè)計(jì)文檔。
    包含合并跟蹤特性的Subversion 1.5預(yù)發(fā)布程序
    一個(gè)包含合并跟蹤歷史的實(shí)例Subversion版本庫(kù)
    一個(gè)與CollabNet的Subversion提交者和其他人討論這個(gè)特性的論壇
    缺陷報(bào)告和改進(jìn)請(qǐng)求
    很快也會(huì)發(fā)布GUI客戶端

你可以在這里找到程序:http://merge-tracking.open.collab.net

7. 下面是什么?

合并跟蹤的主張很直接:”Subversion以前沒(méi)有這個(gè)功能,現(xiàn)在有了”,你準(zhǔn)備好了嗎?

    如果你正在因?yàn)椴幌胩幚砺闊┑氖止ず喜⒏櫠鵀榉种кP躇,你或許可以重新思考一下分支策略,來(lái)充分利用在不同分支并行開發(fā)的好處。在9月26日, CollabNet會(huì)組織一個(gè)關(guān)于分支策略的webinar,CollabNet的Subversion顧問(wèn)Bob Jenkins和Auke Jilderda會(huì)解釋不同的分支策略,并展示Subversion 1.5如何支持他們。這里注冊(cè)。
    合并跟蹤改進(jìn)了合并的質(zhì)量,添加了跟蹤能力。加入Merge Tracking Early Adopter program,現(xiàn)在開始學(xué)習(xí)這個(gè)新特性。下載我們的客戶端并使用,它將會(huì)幫助我們?yōu)镾ubversion 1.5做好準(zhǔn)備。
    如果你因?yàn)榈却喜⒏櫠沒(méi)有部署Subversion,現(xiàn)在是你離開你的遺留工具而使用Subversion的時(shí)候了。

8. 背景:CollabNet與合并跟蹤

CollabNet強(qiáng)烈的投入到合并跟蹤特性的開發(fā):

    CollabNet組織了需求收集的客戶峰會(huì)(2006年1月)。
    CollabNet雇員編寫了大多數(shù)規(guī)格。
    CollabNet領(lǐng)導(dǎo)了合并跟蹤特性的開發(fā)力量。
    我們開始了Merge Tracking Early Adopter Program。
    CollabNet開發(fā)了合并跟蹤的GUI客戶端

上一頁(yè)12下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd