[英]Subversive: svn: E195016: Cannot merge into a working copy with a switched subtree
我有Eclipse和Subversive的問題。
我正在嘗試將項目的一個分支重新集成到主干中。
這些是我正在遵循的操作:
Merge operation failed.
Can't overwrite cause with org.tmatesoft.svn.core.SVNException: svn: E195016:
Cannot merge into a working copy with a switched subtree
我不明白什么是錯的。
我正在使用這個Eclipse和SVN配置:
Eclipse Java EE IDE for Web Developers.
Version: Neon.1 Release (4.6.1)
Build id: 20160913-0900
Subversive SVN Team Provider 4.0.3.I20161129-1700
SVNKit 1.8.14 Implementation (Optional) 6.0.3.I20161124-1700
SVN 1.9
提前致謝。
我不確切知道為什么會出現這個問題,但我注意到如果我們在Merge操作之前在分支之間執行一些“切換”操作,就會發生這種情況。
出於某些原因,在這種情況下,可以避免執行合並操作。
我找到的“解決方法”是在SVN簽出中繼后,在干線的干凈副本上執行合並操作,而不進行任何切換操作。
這樣,錯誤就不再發生了。
這不是一個實用的解決方案,但它確實有效。
默認情況下,SVN 1.8和更新版本中的重新集成合並會自動完成 。 如果您的工作副本是混合版本或已切換路徑,則無法執行自動重新集成合並。
但是,SVNKit可能與實際的Apache Subversion不同。
閱讀SVNBook中的自動合並:
您的主干工作副本不能具有任何本地編輯,切換路徑或包含修訂的混合(請參閱“混合修訂工作副本”一節)。 雖然這些通常是合並的最佳實踐,但它們是自動重新集成合並所必需的。
我想我已經找到了兩種進入E195016的方法:無法合並到具有切換子樹狀態的工作副本 。
1)從主干切換到分支(帶編輯和提交),然后切換到不同的分支(帶編輯和提交),然后切換到主干並嘗試重新集成其中一個分支。
提示:切勿在分支之間切換,始終切換回分支之間的主干。
2)意外地在后備箱中編輯然后實現你的錯誤。 恢復中繼,創建分支(使用開關,編輯和提交),切換回主干,然后嘗試重新集成分支。
提示:永遠不要恢復行李箱。 使用(右鍵單擊)上下文菜單中的替換為最新存儲庫 。
我只找到了一種從這種狀態可靠恢復的方法。
如果您成功恢復,則不會使用備份,如果您犯了一個災難性的錯誤,它只是一個安全網。
在我的例子中,替換項目意味着從SVN創建一個新項目並使用該選項使用新項目向導(在我的案例中為PyDev Project)完成項目。 在您的情況下,您需要開發自己的恢復方法。 別忘了寫下來。
當然,您可以選擇啟動全新的工作區。 如果您選擇此方法,請不要忘記導出首選項和啟動器(至少),以便將它們導入新工作區。 這樣你仍然有你熟悉的配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.