1. 程式人生 > >File already exists: filesystem '/path/file', transaction svn常見錯誤解決方法

File already exists: filesystem '/path/file', transaction svn常見錯誤解決方法

前言

  多人任務基本都會用到SVN,於是提交的時候如果不先更新在提交或者操作順序不對,會經常出現錯誤,其中File already exists: filesystem這個就是個常見問題,上網找了半天沒找到解決辦法,經過摸索,經解決辦法分享於此。

解決方法

  不同情況對應不同的解決方法:

  1、通用的。直接先備份,然後將本地刪除,然後充倉庫裡面checkout出最新的檔案,然後將備份的修改加入最新的檔案,然後提交就搞定啦 。。

  2、localy new,本地新建。這寫內容在被commit之前,可以做任何改變,包括刪除,比如你新建一個目錄,然後刪除,那麼下次commit的時候就不會體現這個過程,當沒有發生過一樣。所以說當你看到下面的錯誤程式碼時:File already exists: filesystem '/path/db', transaction '9-1', path  '/path/trunk/vendor/plugins/classic_pagination'  Failed to add directory object of the same name already exists[/code]是因為remote repository已經有人commit了一個目錄,而你本地有一個同名的目錄,很簡單,你只要重新命名,或者刪除本地目錄,就可以順利的update了。  

  3、如果一個目錄或者檔案已經是在svn控制之下(比如是checkout而來),那麼你在本地對於它的任何操作都會被svn所記錄,比如你刪除它,然後再建立它,這些動作在commit的時候都會被遠端的執行。對於刪除又建立的情況,實際上你必須進行兩次commit,一次是刪除,另一次是新建。

總結

  其實SVN的相關問題錯誤解決辦法就是關於資料的一致性問題,所以沒啥好糾結,想個能避免髒資料,然後將資料弄成一致的就可以了。

  全文完。。