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

时间:2011-01-19 18:02:07

标签: 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-base':没有这样的文件或目录

“Amanda-Kuda.jpg”是“The%20Loft.pdf”之后的文件。看了看里面 “/.svn/tmp/text-base/”,看起来所有.svn-base文件都被创建,除了那些在结帐顺序中跟随“The%20Loft.pdf”的文件。

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

1 个答案:

答案 0 :(得分:1)

我的Windows框中的以下会话表明subversion对包含空格或“%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删除一个。{/ p>