很多時候,當將許多變更集合併到另一個分支時,我會遇到合併衝突,這是我所不希望的。其中一些案例的行爲是可疑的,我想閱讀SVN的日誌,告訴我他爲什麼決定發生衝突。我很懷疑目標分支上的文件是否被其他人修改過。是否有可能調查是什麼導致SVN發現合併衝突?
2
A
回答
1
當你發生衝突時,你可以在你的分支上使用svn log somefile
來找出你已經改變了什麼。您可以在要合併的其他分支上使用svn log svn://url/repo/branch/somefile
以查看該文件的更改內容。
從這些信息你可以推斷爲什麼SVN標記了衝突。衝突可能很小(樹衝突和mergeinfo衝突通常很容易解決)。如果你倆都改變了文本文件的同一行,那麼SVN不僅會標記衝突,還會修改這些文件,以便你可以看到原始版本,更改和更改。
您可以使用合併工具(超越比較,融合,TortoiseSVN合併)來解決衝突,方法是查看三個版本並從每個版本中選擇要保留的行。
有了這些信息,你應該能夠弄清楚爲什麼會發生衝突。
你懷疑其他文件沒有被修改,所以這項調查會給你確定性。如果事實證明沒有人提交這些文件,那麼我懷疑問題在於mergeinfo。如果您從其他來源合併,並且其他分支合併了其他來源,則您將在mergeinfo屬性中發生衝突。這是與文件相關的元數據,它告訴SVN已經合併了哪些轉速。
如果您至少沒有解決衝突一次並提交更新的屬性,則下次合併時,您會看到同樣的問題再次。
相關問題
- 1. 是否有可能檢查SVN更新是否會導致衝突?
- 2. 什麼是合併衝突?
- 3. 什麼是併發衝突?
- 4. 爲什麼櫻桃挑選總是導致合併衝突?
- 5. svn合併衝突
- 6. Git svn rebase導致衝突
- 7. 是否有可能使git svn dcommit導致單個svn提交?
- 8. 什麼是svn中的樹衝突?
- 9. 爲什麼這是Subversive的SVN衝突?
- 10. SVN樹衝突,而合併
- 11. SVN合併樹衝突
- 12. 合併衝突導致Brew停用
- 13. 什麼可能會導致與Tipsy的焦點觸發器發生衝突?
- 14. SVN合併分支到主幹導致已解決的文件發生衝突
- 15. 爲什麼重新合併會導致git中的重複合併衝突?
- 16. 什麼可能導致從mscorwks訪問衝突!ThreadpoolMgr :: FireTimers?
- 17. 什麼可能導致此異常訪問衝突?
- 18. 爲什麼我的龜svn合併一個文件,而不是衝突呢?
- 19. 是否有可能解決合併衝突之後,特定的文件rebasease
- 20. 什麼能導致SVN更新不正確地合併?
- 21. 爲什麼git合併衝突最終導致我有.lock文件?
- 22. 是什麼導致IDL文件中的名稱衝突?
- 23. 在WebLogic上導致lang.ClassCastException的衝突是什麼?
- 24. SVN合併,並自動解決衝突
- 25. git rebase - 導致衝突 - 爲什麼?
- 26. 是否有可能部分恢復合併SVN
- 27. 當git pull導致衝突,但是git pull --rebase不會導致什麼?
- 28. 是合併而不衝突相當於rebase沒有衝突?
- 29. SVN:衝突有多可靠?
- 30. 爲什麼調用ProcessGroupPolicyEx回調會導致訪問衝突?
[本頁](https://wiki.apache.org/subversion/SymmetricMerge#Symmetric_Merge_Algorithm)是開始瞭解合併過程的好地方。然而,SVN的決策過程沒有記錄。 –