Svn 如何配置Subversion以使用URL编码的字符?
我正在尝试签出我在远程服务器上设置的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”的文件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
如何重新配置我的服务器(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.