Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 如何配置Subversion以使用URL编码的字符?_Svn_Url Encoding_Svn Checkout - Fatal编程技术网

Svn 如何配置Subversion以使用URL编码的字符?

Svn 如何配置Subversion以使用URL编码的字符?,svn,url-encoding,svn-checkout,Svn,Url Encoding,Svn Checkout,我正在尝试签出我在远程服务器上设置的Subversion项目。它适用于大多数目录,但是一旦到了签出名为“The%20Loft.pdf”的文件的时候,整个过程就中断了。看起来它无法为它创建“/.svn/tmp/text base/”文件。我猜它在%20字符上有问题 错误实际上是: svn:无法打开文件“src holdings/httpdocs/wp content/blogs.dir/2/files/2010/05/.svn/tmp/text base/Amanda Kuda.jpg.svn b

我正在尝试签出我在远程服务器上设置的Subversion项目。它适用于大多数目录,但是一旦到了签出名为“The%20Loft.pdf”的文件的时候,整个过程就中断了。看起来它无法为它创建“/.svn/tmp/text base/”文件。我猜它在%20字符上有问题

错误实际上是: svn:无法打开文件“src holdings/httpdocs/wp content/blogs.dir/2/files/2010/05/.svn/tmp/text base/Amanda Kuda.jpg.svn base”:没有此类文件或目录

其中“Amanda Kuda.jpg”是“the%20Loft.pdf”后面的文件。看了里面 “/.svn/tmp/text base/”,看起来所有的.svn基文件都在创建中,除了那些在签出顺序中跟随“the%20Loft.pdf”的文件


如何重新配置我的服务器(Linux)或Subversion以处理此类文件而不中断?我只想强制执行“无空格”策略,但这是一个客户端的WordPress安装,我不能指望它们来避免带有空格的文件。

我的windows box上的以下会话表明subversion对包含空格或“%20”的文件名没有问题:

编辑:从大致相同的错误消息判断,存储库中有两个文件的名称相同,但大小写不同。这会导致问题,因为您的本地文件系统不支持此操作


要验证这一点,可以使用
svnls
命令检查存储库中的文件名,或者在linux上执行签出。要解决此问题,请使用
svn mv
命令重命名一个有问题的文件,或使用
svn rm
删除一个文件。

我应该补充一点,我在mac上,服务器是linux机箱。mac OS X的文件系统(HFS+)默认情况下也不区分大小写。可能svn不是适合您使用的最佳技术。也许您应该尝试文件系统备份,或者
rsync
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.