[英]TortoiseSVN Tree Conflict: can't choose remote file
這是場景:
現在User1想要合並“abc.def”文件的更新版本。 所以(使用TortoiseSVN 1.7.10),User1在Branch1的工作副本中啟動,選擇Merge...
- > Reintegrate a Branch
,然后選擇Branch2並選擇Merge
。 可以預見的是,“樹沖突”的結果與此文本一致:
最后一次合並操作嘗試從Branch2添加文件'abc.def',但該文件已在本地添加。 你想如何解決這個沖突?
但唯一的選擇是標記為Keep the local file
的單個按鈕。 沒有選擇遠程文件的選項,這是User1真正想要的。
我在這里做錯了什么,我該如何解決? 更具體地說,如何將User2的文件版本導入Branch1?
(當然,我確信User1可以在合並之前手動刪除該文件,但這會消除User1可能想要保留的任何歷史記錄。此外,它只是一個笨重的工作流程,特別是在這種困境中存在大量文件時。)
不幸的是,在TortoiseSVN關於樹沖突的文檔中甚至沒有提到這種情況
更新:
除了選擇“ Reintegrate a Branch
Merge a Range of Revisions
Reintegrate a Branch
”之外,我還嘗試了“ Merge a Range of Revisions
”和“ Merge two different trees
”。 對於后一種情況,我選擇遠程分支(Branch2)作為“開始”,將本地分支作為目標(Branch1;在添加文件之前選擇修訂版。)我在所有情況下得到了相同的結果:樹沖突沒有選擇文件的User2版本的選項。
更新#2:
根據文檔 ,在合並進度對話框中應該有一個名為Merge non-interactive
的復選框,如果未選中,則在合並期間打開“Merge Conflict Callback Dialog”。 但是,我在合並過程中找不到任何此類復選框。 它在哪里?
我可以使用以下程序在TortoiseSVN的1.9版本中從一個分支合並到另一個分支。
建立
使用測試存儲庫,我執行了以下步驟:
創建一個分支,“第一”
添加文件並將其提交到新分支
創建一個分支,“第二”
添加文件並將其提交到新分支
所以我的結構看起來像:
branches/
first/
doc.txt => "FIRST"
second/
doc.txt => "SECOND"
合並
在這個例子中,我的目標是將second/doc.txt
的內容放入第一個分支。
右鍵單擊第first
分支文件夾,然后選擇TortoiseSVN> Merge ...
使用/branches/first
的URL填寫“From”框,並使用/branches/second
的URL填寫“To”框。
(這是我最初被絆倒的地方 - 我認為情況正好相反! 文檔解釋說:“這可能聽起來不對,但請記住,主干是你想要添加分支變化的起點。”)
我想你想要做的是首先合並一系列修訂,然后將分支合並回樹中。
有一個名為的對話框
合並沖突回調對話框
關於這個問題 :
合並沖突回調對話框應該出現 - 當通過“合並一系列修訂”合並多個修訂時 - 通過“重新整合分支”進行合並時
目前,合並沖突回調對話框僅在第一種情況下出現。
它將包含在即將發布的1.6.0版本中。
這允許您選擇存儲庫更改而不是您的更改
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.