svn confict(svn衝突)時對應的解決方式

(本文移植於tutortecho 2019年1月22日)

由於公司是使用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即可


發表留言