2011-01-19 50 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