2008-11-30 138 views
4

我有一段時間沒有被觸摸的開發分支。我將主幹合併到主幹線中,以便在主幹線上集成許多修補程序/更改,但現在我有很多小衝突(合併 - 左/合併 - 右)。解決SVN合併推遲衝突遞歸

我想要使用最新的主幹修訂版來解決每個衝突。是否有一個我可以運行的命令,可以自動解決工作副本在一個方向下的所有衝突(合併權應該用於所有衝突)?

編輯: 正如在評論中指出的,我嘗試恢復,然後運行svn merge與--accept選項,顯然SVN 1.0中沒有這樣的選項。仍在尋找解決方案。

+1

不能安裝SVN 1。5只是爲了合併?你甚至可以在其他機器上做到這一點。 – orip 2008-11-30 12:27:21

+0

,我會考慮它 – 2008-11-30 12:32:42

回答

7

我想你可以在發出svn merge命令時使用「--accept theirs-full」選項。 這應該做你想做的...

+0

我正在尋找可以應用後合併操作 – 2008-11-30 11:15:40

+0

噢... 對不起,我不明白,一個解決辦法......我認爲最簡單的是一個SVN恢復對當地合併後的副本產生衝突 – abigagli 2008-11-30 11:54:12

0

我認爲TSVN可以做到這一點,如果你做一個「檢查修改」,它會告訴你所有的文件,包括衝突的,全選,然後選擇'解決使用他們的'。

不知道TSVN是相關的平臺,或者它實際上是你想要做什麼,但它可能會有所幫助......

3

像abigagly說,你應該做的合併時使用--accept theirs-full 。如果您已經完成合並並想重新開始,則可以先使用svn revert -R重新開始。

--accept選項是SVN 1.5中的新增功能,還有交互式合併支持。

0

好吧,我有一個計劃,我認爲這說明了我大部分的疾苦 - (從我的崗位網友@顛覆收穫...)

我認爲我們打的把事情弄得更糟了以下問題:

  • 櫻桃採摘+合併在合併根以下的水平(全部都是允許的,但它們可以使合併後更爲複雜)
  • 我們假定合併命令完成意味着所有的改變合併(沒有與合併信息仔細檢查 - show-revs eligible)
  • po與早期客戶(1.5或早期1.6)存在可能的錯誤。我們有許多ubuntu和debian系統,最初並不知道wandisco的更新站點。所以,我們錯過了簡單的方法來保持最新。我們現在正迅速部署1.6.11

PUSH過程:

  1. SVN合併--reintegrate --accept推遲URL分支路徑到工作區
  2. SVN合併信息網址分支路徑到工作區 - 顯示,轉速資格> eligible_revs.txt
  3. 重複,直到一無所有這eligable

PULL過程: 相同的模式,但減去--reintegrate

3
svn --version 
svn, version 1.6.17 (r1128011) 

svn resolve -R --accept='theirs-full' <path>