Perforce 使用UNC名称执行长文件名

Perforce 使用UNC名称执行长文件名,perforce,long-filenames,Perforce,Long Filenames,是否有人让perforce windows客户端使用长文件名?在Perforce KB上,我尝试使用\?\C:\Temp作为工作区根目录,但P4V给出了以下形式的错误: 无法为创建目录 \\?\C:\temp\path mkdir:\?\C:\:访问被拒绝 在我看来,P4V正在尝试创建目录\\\\?\\C:\\,我假设它不存在 我的P4C客户端似乎是“2012年3月09日”的版本“Rev.Perforce Visual client/NTX86/2011.1/428988”您参考的知识库文章涉及

是否有人让perforce windows客户端使用长文件名?在Perforce KB上,我尝试使用\?\C:\Temp作为工作区根目录,但P4V给出了以下形式的错误:

无法为创建目录

\\?\C:\temp\path

mkdir:\?\C:\:访问被拒绝

在我看来,P4V正在尝试创建目录
\\\\?\\C:\\
,我假设它不存在


我的P4C客户端似乎是“2012年3月09日”的版本“Rev.Perforce Visual client/NTX86/2011.1/428988”

您参考的知识库文章涉及非常长的路径,而不是长的文件名(我认为您指的是比旧的DOS“8.3”文件名长度更长的文件名)

因为Perforce没有mkdir命令,所以您应该像通常在Windows下一样创建一个目录,然后在该目录中编辑一个文件

在这一点上,您根本没有使用Perforce

然后,您可以使用P4V将刚创建的文件“添加”到性能树中,并在准备将文件输入版本控制系统时“提交”该文件。

在我的情况下,“文件名太长”是由于路径名太长。
我想错误信息不是很清楚。这与Windows文件系统的限制有关

我的解决方案是从工作空间名称中删除几个字符。我想这是一个短期的解决方案
以下讨论了此问题的不同解决方法。

我正在使用:

  • Windows 7(版本6.1.7601)
  • P4V版本:Performce Visual Client/NTX64/2012.2/527787

错误是“文件名太长”,但我认为问题在于路径本身的长度:如果工作区根为c:\x,则初始签出有效,但如果工作区根为c:\users\Performance\workspace\u6965\U win7x88985\U 6431,则初始签出无效。对于工作区根“\\?\C:\temp”,错误是\\?\C:\”的mkdir的访问错误,这就是我认为P4V不理解unc路径的原因。您显示的路径比KB文章所述的260字节路径限制短得多。您尝试签入的文件名有多长?(该长度+上面显示的路径长度是否超过260字节?)。顺便说一句,KB文章中关于在现有文件名中使用\\?\:“Prepend\\?\”的措辞会让我有点反感(此方法未经验证…)Perforce在那篇文章中强烈暗示他们更喜欢使用subst。工作区根本身不是>260个字符,但是我得到错误的文件的总长度>260个字符。顺便说一句,我没有尝试签入,我正在尝试设置我的工作区并从服务器(仓库?)获取所有文件。我为使用术语表示歉意,我对perforce很陌生。好的,我理解。你能使用subst将顶级路径映射到驱动器名吗,(也许P:表示“perforce”或类似的名称)?我知道一些IT部门喜欢限制用户做这类事情的能力。KB文章暗示Perforce建议超过\\?\。是的,我使用替代驱动器作为工作区根目录,将
c:\users\\Perforce
映射到
S:
。出于任何原因,我的工作区名称都很长;最初我使用
S:\long workspace name
作为根目录,但仍然达到路径名长度限制,因此现在我使用`S:`作为工作区根目录。这使我的路径长度增加了30个字符,但我正在寻找一种解决方案,可以使用比这更长的路径名。