[英]svn - how to merge a directory that was manually created in two branches?
我面臨svn合並的問題,這是方案
樹干
分行1
分行2
同時在Branch1
和Branch2
上創建了一個新文件夾“ abc”,二者的代碼庫均已更新,直到發布Branch1
。 在Branch2
上進行了進一步的代碼處理。
現在,將Branch1合並回Trunk時,一切順利。
當Trunk合並到Branch2時,發生樹沖突(如預期)。
但是現在我不確定如何進行。 我想保留Branch2中的lcoal更改,並正確地合並目錄,以便將來的合並不會引起任何樹沖突。
有任何想法嗎? 有人遇到過這樣的問題嗎? 有什么解決方法嗎?
問一些問題的答案:問為什么您同時創建兩個分支?
答:我正在將由25個開發人員組成的小組合並svn任務。 2開發人員創建了此。
問:為什么兩個分支都創建此abc目錄?
答:使用的是同一項目。 一個正在研究它的初始階段,而另一個則在它的實際發布之前就對其功能進行了研究。
問:abc是項目還是現有項目下的新目錄?
答:這是一個新項目
該abc目錄是否存在於主干中?
答:不可以
顯然,如果您從2個來源合並相同的目錄名稱,則將導致樹沖突。 您可以嘗試合並分支1,然后合並分支2對目錄的后續更改(例如,跳過創建目錄的修訂,僅合並包含對內容所做更改的修訂)
或者,您可以在合並分支1和提交之后手動復制更改。
在將/trunk
從根目錄合並到Branch2之前,將子樹/trunk/abc
合並到/Branch2/abc
要顛覆/Branch1/abc
和/Branch2/abc
是兩個完全獨立的目錄。 兩者之間沒有共同的歷史。 下次,您需要使用svn cp
,以便Subversion可以知道它們是相關的。
您可以嘗試--ignore-ancestory
標記,但這將進行雙向合並而不是三級合並。 這意味着,如果我合並/Branch2
成/Branch1
,在abc
上的目錄/Branch1
將是什么是在/Branch2
。
為什么要同時創建兩個分支? 而且,為什么兩個分支都創建此abc
目錄? abc
是項目還是現有項目下的新目錄? 該abc
目錄是否存在於主干中?
聽起來您可能需要復習CM慣例。 不幸的是,沒有更多的信息,我無法給您更多具體的建議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.