svn confict(svn衝突)時對應的解決方式
更新日期:2019年1月31日
由於公司是使用svn作為版本管理的工具
如果今天專案與於共同開發時
我們在svn ci (svn commit)之前會先使用 svn up(svn update)把程式碼更新到最新版
並確實跑過目前的regression才會將自己改的部分上傳上去
但是在svn up 的時候時常會遇到svn confict的狀況
原因出在於svn認定此程式碼被多個使用者更改到相同的地方
而svn本身想要執行merge的時候失敗了
所以這個時候會需要目前要上傳的使用者手動修改衝突的部分
一開始svn up會看到好幾個遇到內容衝突可以選擇的選項
內容如下

由於直接在terminal上修改的版面有點雜亂
我通常在此時會選擇 postpone
再使用meld比對自己的.mine和在svn server的檔案差異
確定修改成成最終版本之後
再輸入 svn resolve --accept working <最終版本檔名>
即可以解除 confict 的狀態
接著再將檔案commit即可