2011-05-25 58 views
3

錯誤消息:Subversion控件否這樣的文件或目錄。無法打開文件

「的svn:無法打開文件「/Users/username/Projects/myproject/trunk/project/.svn/text-base/filetoupdate.h.svn-base :沒有這樣的文件或目錄」

問:

我有一個問題我已經更換了一個文件中的一個項目(在Xcode)與一個新的文件(僅供參考,如果這有差別時,新文件與我之前刪除的文件具有相同的名稱)。

現在,當我嘗試在Xcode中提交我的更改時,我收到上面詳述的錯誤消息,無法提交更改(即添加新文件)。

在文件系統視圖中(在屏幕左側的Xcode中),該文件在其旁邊有一個R(指示替換到存儲庫中)。

有誰知道如何解決它,所以我可以提交文件?

謝謝

回答

0

它看起來像是得到了地方混淆。爲了解決問題,我只是複製了有問題的文件,將它們保存在一個新的名稱下。從項目中刪除原件,並將該文件的複製(重命名)版本添加到項目中。

它似乎是SV​​N不喜歡它,如果您添加和刪除具有相同名稱的文件。我試圖通過終端清理SVN,但它對這個問題沒有影響。但改變名字對我來說確實有效。

0

也許您的本地版本有權限問題。檢查您的用戶是否有權寫入.svn目錄。

好運

+0

感謝您的回覆,是的,我有權限。很遺憾,這次不是問題。我已將我的修補程序放在下面,我確定有(或應該是)更好的解決方案。但現在它一切正常。 – Harold 2011-05-27 08:00:28

1

你在Mac或Windows?那些不區分大小寫的文件系統會導致上述問題,當文件當前存在時名稱相同,但情況不同。

要修復,檢出Linux機器上的樹,然後「svn rm」其中一個文件。

5

有使用不區分大小寫的文件系統時,Subversion的bug或限制:

https://superuser.com/questions/303348/cant-checkout-in-subversion

檢查出含有兩個文件的名字只​​是大小寫不同的存儲庫時,這個錯誤通常出現。當然,這些不能同時存在於不區分大小寫的文件系統的相同目錄中。 SVN可以提供更多有用的錯誤消息,但它不能真正解決問題。

您的問題有點不同,因爲我認爲文件filetoupdate.h(舊案例)不再存在於您的文件系統中。所以這不是工作目錄中的案例衝突。但我想SVN試圖在新案例中創建.svn/text-base中的文件,而舊版本仍然存在,並且失敗(出於同樣的原因)。

你可以嘗試從Subversion首先刪除文件,保留本地副本(未經測試)。新副本,必須從SVN控制移除,以用於提交成功:

svn rm --keep-local --force FileToUpdate.h 

而且舊副本必須拆除爲好,讓我們以後再添加新副本:

svn rm --keep-local filetoupdate.h 

提交這種變化:

svn commit 

現在希望你可以在新文件添加到版本控制:

svn add FileToUpdate.h 

如果這不起作用,您可能需要吹走整個結帳並重新開始。

+0

謝謝隊友。有同樣的問題,你的解決方案效果很好!在我的情況下,我重命名了其中一個文件,只是改變了大小寫,而SVN無法應付它。 – pawel 2013-06-01 06:18:50

相關問題