簡體   English   中英

svn與--reintegrate合並抱怨缺少范圍,但mergeinfo似乎是正確的

[英]svn merge with --reintegrate complains about missing ranges but mergeinfo seems correct

我有一個具有以下結構的項目

^/project/trunk
^/project/branches/mybranch

當前HEAD是修訂版1048.分支是從r523中的trunk復制的。 trunk已合並到mybranch,結果為r1048。 ^/project/branches/mybranch給出

/project/trunk:523-1047

並且trunk的mergeinfo沒有提及^/project/branches/mybranch任何記錄。 實際上實際上,主干和分支也從與mybranch平行的分支中保持mergeinfos,但是這兩個mergeinfos在兩個輸出中看起來完全相同。

現在我進入我的干線工作副本並嘗試發布

svn merge --reintegrate ^/project/branches/myproject

我收到一條錯誤消息:

svn: Reintegrate can only be used if revisions 523 through 1048 were previously merged from file:///home/svn/project/trunk to the reintegrate source, but this is not the case:
  project/branches/mybranch/src
    Missing ranges: /project/trunk/src:523-1047

這很奇怪,因為我的分支文件夾上的mergeinfo告訴我523-1047已經從主干到分支正確合並。 這個子文件夾的處理是什么? src是一個顯然存在於trunk和branch中的目錄。

我認為這是有些可疑的地方。 如果我通過svn pg svn:mergeinfo ^/project/branches/mybranch/src@HEAD查看mybranch / src的mergeinfo svn pg svn:mergeinfo ^/project/branches/mybranch/src@HEAD我什么都沒得到。 如果我看一下trunk / src( svn pg svn:mergeinfo ^/project/trunk/src@HEAD )我得到了

/project/branches/mybranch/src:784

所以似乎有人在那里從一個分支到另一個分支做了一個櫻桃挑選。 但是,這不會出現在trunk文件夾中。

那是麻煩所在嗎? 最重要的是:我該怎樣治愈它?

那是麻煩所在嗎?

是的,確切地說 - 以后合並子樹總是混淆重新融合

最重要的是:我該怎樣治愈它?

從/ project / trunk / src中刪除mergeinfo

以下是您可能想要查看的非常相似的主題:

只有在以前合並修訂URL以重新集成源時,才能使用重新集成

特別是Paul Whipp的 回答在我遇到同樣的問題並且不想刪除mergeinfo時給了我很多幫助,因為這聽起來像是一種解決方法而不是“真正的”修復。

簡而言之:嘗試手動合並特定文件/文件夾的缺失信息(正如svn建議的那樣)。 對我來說就像一個魅力。

請參閱Pauls答案以獲取相應的代碼示例等。

暫無
暫無

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

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