1. 程式人生 > >File already exists: filesystem '/path/db', transaction svn常見錯誤

File already exists: filesystem '/path/db', transaction svn常見錯誤

Subversion的常見情況的處理

Subversion好用之處不言而喻



客戶端的svn監控著原生代碼的變化,這些變化在commit的時候就會被收集起來。這裡有兩種常見的情景:
1、localy new,本地新建。這寫內容在被commit之前,可以做任何改變,包括刪除,比如你新建一個目錄,然後刪除,那麼下次commit的時候就不會體現這個過程,就當沒有發生過一樣。所以說當你看到下面的錯誤程式碼時:File already exists: filesystem '/path/db', transaction '9-1', path
'/path/trunk/vendor/plugins/classic_pagination'

Failed to add directory 'E:\mydocument\NetBeansProjects\path\vendor\plugins\classic_pagination': object of the same name already exists[/code]是因為remote repository已經有人commit了一個目錄,而你本地有一個同名的目錄,很簡單,你只要重新命名,或者刪除本地目錄,就可以順利的update了。



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

3、其它程式碼的衝突都是基於文字含義的,所以必須人工解決,比如兩個人同時修改了第100行的內容,那麼只有通過人工決策才能解決問題。