簡體   English   中英

TortoiseSVN / Subversion-分支到主干的定期合並

[英]TortoiseSVN/Subversion - Periodic merging of branch to trunk

我們公司最近已使用TortoiseSVN作為客戶將版本控制系統切換為SVN,以促進使用敏捷開發方法。 我們的SVN信息庫在主干中有多個分支,每個sprint一個。 我們通常執行“使分支保持最新狀態,然后重新整合分支”方法。 但是,有時分支中的更改需要移植到主干或其他分支中! (如錯誤修復)。 我們有一個不斷發展的bugfixes分支(如果可能,我想將其保留為一個分支,以便使主干可以保持“純凈”狀態)。

如果我定期合並從分支到主干的一系列修訂版本,然后在完成我們的一組錯誤修正后重新集成分支到主干,這可以工作嗎? 我不想雙重合並。 最好不要再進行重新整合合並,而只保留修訂范圍呢? 我們正在使用SVN 1.6。

如果我定期合並從分支到主干的一系列修訂,然后在完成我們的一組錯誤修復后重新集成分支到主干,這可以工作嗎?

是的,它將起作用。

我不想雙重合並。

由於您使用的是Subversion 1.6,因此只要不篡改svn:mergeinfo屬性 ,Subversion就會跟蹤已合並的更改,僅合並那些尚未合並的更改。

最好不要再進行重新整合合並,而只保留修訂范圍呢?

您可以任一個。 但是我建議您進行重新集成合並,除非您將補丁程序或修補程序移動到中繼或另一個分支中。

關於從一個分支到另一個分支合並時修補程序或修補程序的一個注意事項:請注意該修補程序或修補程序是否具有新對象(文件和/或目錄)。 有時,這些可能會導致樹沖突,在釋放分支,移入主干並從主干更新另一個分支之后,合並或重新集成可能會很痛苦。 Subversion 1.6.x和相關客戶端在合並過程中會處理此問題,而較舊的客戶端則不會。

兩個問題:

  • 您是否在一個發布周期中運行多個不相關的Sprint?

  • 在每個發行周期結束時,您是否將發行標記為最新發行的生產版本?

如果您對第一個問題的回答是“是”,則對於多個分支以及從分支到主干的定期合並都是有意義的。 如果您定期標記發行版或每個發行版,則可能根本多余以完全運行分支並將主干作為“出血邊緣”開發版本,包括錯誤修復。 YMMV。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM