2011-01-19 49 views
1

我在試圖查看一個我在遠程服務器上設置的Subversion項目。對於大多數目錄來說,它工作正常,但是一旦檢出名爲「The%20Loft.pdf」的文件,整個過程就會中斷。它看起來不能爲它創建「/.svn/tmp/text-base/」文件。我的猜測是它對%20字符有問題。如何配置Subversion使用URL編碼字符?

的錯誤居然是: 的svn:無法打開文件「SRC-增持/ httpdocs資料/可溼性粉劑內容/ blogs.dir/2 /文件/ 2010/05 /的.svn/tmp /文基/阿曼達-Kuda.jpg.svn-base':沒有這樣的文件或目錄

其中「Amanda-Kuda.jpg」是「The%20Loft.pdf」後面的文件。在查看 「/.svn/tmp/text-base/」之後,看起來所有的.svn-base文件都是按照結帳順序創建的,除了那些在「The%20Loft.pdf」之後的文件。

如何重新配置​​我的服務器(Linux)或Subversion來處理這種類型的文件而不中斷?我只是強制執行一個「無空格」策略,但這是一個客戶端的WordPress安裝,我不能指望它們來避免帶空格的文件。

+0

也許SVN是不是爲您的使用情況最好的技術。也許你應該嘗試文件系統備份,或者'rsync` – 2011-01-20 03:18:19

回答

1

在我的窗戶框下面的會議表明,顛覆與包含空格或「%20」文件名沒有問題:

D:\svn>svnadmin create testrepo 

D:\svn>mkdir files 

D:\svn>echo content > "files\foo bar" 

D:\svn>echo content > "files\foo%20bar" 

D:\svn>svn import files file:///d:/svn/testrepo -m "imported files" 
Adding   files\foo%20bar 
Adding   files\foo bar 

Committed revision 1. 

D:\svn>svn co file:///d:/svn/testrepo/ checkoutfolder 
A checkoutfolder\foo%20bar 
A checkoutfolder\foo bar 
Checked out revision 1. 

編輯:從this thread大約相同的錯誤消息來看,你有兩個存儲庫中具有相同名稱的文件只有大小寫不同。這會導致問題,因爲您的本地文件系統不支持此操作。

爲了驗證這一點,你可以使用svn ls命令,在倉庫檢查文件名,或做在Linux上檢出。要解決此問題,請使用svn mv命令重命名其中一個違規文件或svn rm以刪除一個。

+0

我要補充一點,我在Mac上,而服務器是一臺Linux機器。 – 2011-01-20 00:12:15