簡體   English   中英

合並時沒有沖突,代碼不會編譯:在提交之前我應該​​修復它嗎?

[英]Merge with no conflicts, the code doesn't compile: should I fix it before commit?

我正在使用Subversion 1.7.x,正在分支上進行開發。

我會不時地從樹干合並,以使分支保持最新狀態。
但是,在最新的合並過程中,雖然傳入的代碼在主干中完全正確,但在分支中沒有編譯。
這是可以預期的,因為在干線中更改的代碼已在多個修訂版本的分支中部分重寫。

請注意,合並操作已完全完成,沒有沖突。
為了清楚起見,當我說合並時,我的意思是用另一個分支的代碼修改工作副本的操作,不涉及任何提交,即svn merge [source] [dest]

由於該分支最終將重新整合到主干中 ,我想我有兩種選擇:

  1. 在提交合並的代碼之前修復編譯錯誤;
  2. 樹干合並; 提交(合並后的代碼,無需編輯); 編輯代碼以解決編譯問題; 再次提交(即,隨后解決編譯問題,執行新的單獨提交)。

如果我在提交之前編輯了合並的代碼(即,我與#1一起使用),那么在重新集成分支時,這些更改會丟失嗎?

簡短的答案是:不,更改不會丟失。

更多細節。
重新整合合並與“常規”同步合並不同,因為它會將分支復制到主干,因此兩者變得相同[1]。 可以表示為“將分支和主干之間的差異應用於主干(wc)”。 當然,重新整合合並實際上應該是重新整合合並。 Subversion 1.8以某種方式猜測,早期版本在合並過程中需要--reintegrate參數。

更新:

[1]實際上,我進行了幾次測試,發現只有合並到更新為最新同步修訂版的工作副本中,結果才是相同的。 例如,如果將主干1-100同步到分支,然后在主干10中創建更多其他修訂,然后將分支重新集成到主干-這可能有所不同。

我個人更喜歡同步分支而不是主干中的最新修訂版,重新集成然后比較文件夾的二進制身份。 以防萬一 :)

暫無
暫無

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

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