2012-09-02 42 views
2

我已經在我的服務器上設置了svn存儲庫。我不是刪除存儲庫下的目錄,而是使用rm -rf刪除目錄。現在我無法在我的服務器下創建任何目錄,即使我刪除了subversion並重新安裝它。這就是我得到的。svn無法svn mkdir我的資源庫下的一個文件

[email protected]:/webserver/repos# svn mkdir file:///webserver/repos/blahblah 

Log message unchanged or not specified 
(a)bort, (c)ontinue, (e)dit: 
c 
svn: File already exists: filesystem '/webserver/repos/db', transaction '2-2', path '/blahblah' 

我該如何解決?謝謝。

+2

真的很難說出你在問什麼。你刪除了哪個文件夾? blahblah從你的工作副本?或者是其他東西?從錯誤信息來看,你的'svn mkdir'命令失敗了,因爲該目錄已經存在。如果您懷疑版本庫存在問題,請使用'svnadmin verify'進行檢查。 – jszakmeister

+0

blahblah是我的工作副本。最初,我創建了一個工作副本,並使用rm -rf將其刪除,因爲我想創建一個新的工作副本。 Blahblah是我的新工作副本。 – Zonger

+0

這是我從svnadmin的得到驗證服務器@ skynet2012:/ Web服務器/回購$ LS 的conf分貝格式鉤鎖的README.txt 服務器@ skynet2012:/ Web服務器/回購$ svnadmin的驗證回購 的svnadmin:無法打開文件「 repos/format':沒有這樣的文件或目錄 server @ skynet2012:/ webserver/repos $ – Zonger

回答

1

該目錄仍然存在於您的存儲庫中。這就是錯誤所說的。

所以你只需要一種方法將它恢復到工作副本中。

做到這一點,最簡單的方法是 (顛覆1.7或更高版本)

svn revert -R DIR 

這將恢復對目錄中的所有本地更改。

或者 (所有版本的顛覆)

svn update DIR 

哪個會先帶回從工作拷貝一切所能,然後更新您的工作副本到最新版本。

在Subversion 1.7之前,數據存儲在每個目錄中的.svn子目錄中,所以普通的還原無法修復所有的東西。

+0

我有一個新問題。我編輯了我的svnserve.conf,passwd和authz文件,但我仍然得到svn:'。'不是工作副本。但是,我已經繼續並將我的文件導入該文件夾並在我的Mac上結帳。一切都很好。文件能夠導入到存儲庫中,但是當我嘗試提交時顯示「傳輸文件數據.svn:提交失敗(詳情如下):svn:無法打開文件'/ webserver/svn/repos/db/txn-電流鎖定:權限被拒絕「 – Zonger

+0

顛覆讓我瘋狂。我一直在解決這個問題一個星期,但仍然無法解決。我試圖卸載顛覆,刪除每個文件。有什麼方法可以從新鮮開始? – Zonger