我不确定这是P4API的错误还是使用p4python的问题。
p4.run_print("-q", "-o " + targetPath, depotFile + "#" + rev)...gives是个例外。
Traceback (most recent call last):
File "C:\pyTools\p4test.py", line 218, in <module>
main()
File "C:\pyTools\p4test.py", line 70, in main
copy_changes(p4, args.copy[0], args.copy[1], clientStream, targetRoot)
File "C:\pyTools\p4test.py", line 204, in copy_changes
p4_print_to_path(p4, change['depotFile'][i], change['rev'][i], targetPath) # Get the file@rev at the target path
File "C:\pyTools\p4test.py", line 215, in p4_print_to_path
p4.run_print("-q", "-o " + targetPath, depotFile + "#" + rev)
File "C:\Python33\lib\site-packages\P4.py", line 610, in run_print
raw = self.run('print', args, **kargs)
File "C:\Python33\lib\site-packages\P4.py", line 533, in run
result = P4API.P4Adapter.run(self, *self.__flatten(args))
P4.P4Exception: [P4#run] Errors during command execution( "p4 print -q -o C:/_code/target\PurleyPkg\Tool\GenBiosId\BiosIdD.env //CP_Server_BIOS/Skylake_Trunk/PurleyPkg/Tool/GenBiosId/BiosIdD.env#35" )
[Error]: "can't create directory for C:/_code/target\\PurleyPkg\\Tool\\GenBiosId\\BiosIdD.env\nmkdir: C:: The filename, directory name, or volume label syntax is incorrect. "如果我复制该行并在命令提示符下使用它,它就能正常工作。
p4 print -q -o C:/_code/target\PurleyPkg\Tool\GenBiosId\BiosIdD.env //CP_Server_BIOS/Skylake_Trunk/PurleyPkg/Tool/GenBiosId/BiosIdD.env#35...this创建了该文件的路径并正确复制了该文件。因此,我似乎正确地形成了对API的调用。我在这里做错什么了吗?这与Python3.x和Python2.x有关吗?我还没试过2.x。是否有人能够通过p4python模块使用print命令?
我找不到P4API的源代码(不确定该部分是否公开)。我有p4python源代码,但是调试路径在第533行结束,调用到P4API,我只有二进制文件。
我找不到这个模块的公共bug跟踪器。在那里的指针,以便我可以搜索他们的错误,也许提交一个也将不胜感激。
发布于 2013-12-31 23:10:41
此命令的语法令人误解:
p4 [g-opts] print [ -a -A -o outfile ] [ -q ] file[revRange] ...在-o和外部文件的开始之间没有空格。我在这个问题上的问题是,我在'-o‘之后添加了一个空格
"-o " + targetPath删除该空间修复了此问题。
https://stackoverflow.com/questions/20862049
复制相似问题