如果完整文件名超过256个字符,则svn命令行实用程序将不起作用

Vol*_*lyy 9 svn

如果某些文件的完整文件名太长,我无法使用svn实用程序从命令行创建工作副本.
但我可以成功地从TortoiseSVN或Subclipse创建工作副本.
为什么?

Ste*_*fan 7

这不是svn客户端的限制,而是windows控制台的限制:扩展时相对路径不能超过MAX_PATH(254)字符.

与此处的一些评论者不同,这并不是对svn开发人员的疏忽,而是忘记了MAX_PATH.因为:如果传递完整路径而不是相对路径,则命令将起作用.

所以,而不是

cd C:\some\...\very\long\path
svn up .
Run Code Online (Sandbox Code Playgroud)

svn up c:\some\...\very\long\path
Run Code Online (Sandbox Code Playgroud)

它应该工作得很好.


Joe*_*oey 6

作为一种解决方法,您可以subst将工作副本写入驱动器号以保持路径长度:

C:\Users\Me\SVN\My\Cool\Repository\With\A\Very\Long\Path> subst S: .
C:\Users\Me\SVN\My\Cool\Repository\With\A\Very\Long\Path> S:
S:> svn up
Run Code Online (Sandbox Code Playgroud)