[svn] 為什麼我在Subversion中發生樹衝突?


4 Answers

Subversion 1.6添加了樹衝突以涵蓋目錄級別的衝突。 一個很好的例子是當你在本地刪除一個文件,然後一個更新嘗試在文件上改變文本。 另一個是當你有一個顛覆的重命名你正在編輯的文件,因為這是一個添加/刪除操作。

CollabNet的Subversion博客有一篇關於樹衝突的文章。

Question

我有一個我的樹幹功能分支,並正在將我的樹幹變化週期性地合併到我的分支中,並且一切正常。 今天,我將分支合併回主幹,並且在創建分支後添加到我的主幹中的任何文件都被標記為“樹衝突”。 未來有沒有辦法避免這種情況?

我不認為這些被正確標記。




我今天也遇到過這個問題,雖然我的問題可能與您的問題無關。 在檢查完文件列表後,我意識到我做了什麼 - 我暫時從另一個程序集的一個程序集中使用了一個文件。 我做了很多修改,並不想孤兒SVN的歷史,所以在我的分支中,我已經將文件從另一個程序集的文件夾中移出。 這不會被SVN跟踪,所以它看起來像文件被刪除然後重新添加。 這最終導致樹衝突。

我解決了問題,將文件移回,提交, 然後合併我的分支。 之後我將文件移回。 :)這似乎有伎倆。




我不知道這是否發生在你身上,但有時我選擇錯誤的目錄進行合併,即使所有文件都顯示完全正常,我也會收到此錯誤。

例:

合併/ svn / Project / branches / some-branch / Sources到/ svn / Project / trunk --->樹衝突

合併/ svn / Project / branches / some-branch到/ svn / Project / trunk --->確定

這可能是一個愚蠢的錯誤,但它並不總是顯而易見的,因為你認為它更複雜。




我遇到了同樣的問題,並通過使用這些指令重新進行合併來解決此問題。 基本上,它使用SVN的“2-URL合併”來更新樹枝到當前分支的狀態,而不會打擾歷史和樹的衝突。 通過手動修復114個樹狀衝突保存了我。

我不確定它是否保留了歷史以及我想要的歷史,但對我而言這是值得的。




這可能是由於不使用相同版本的客戶端而導致的。

將版本1.5客戶端和版本1.6客戶端用於相同的存儲庫可能會導致此類問題。 (我只是咬了自己。)




Related