如果某些文件的完整文件名太长,我无法使用svn实用程序从命令行创建工作副本.
但我可以成功地从TortoiseSVN或Subclipse创建工作副本.
为什么?
这不是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)
它应该工作得很好.
作为一种解决方法,您可以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)