为了更好地与代码片段集成,我们切换到python库,但它有一些奇怪的副作用,只有一些操作的行为与CLI版本不同
我们正在运行以下命令:
p4 sync //depot/test/...#head
它将返回`个最新文件,但是对tye python API做同样的事情
from P4 import P4, P4Exception
p4 = P4()
p4.port = "ssl:test:1666"
p4.user = "test-bot"
p4.client = "test-bot_projectX_wing0044"
p4.connect()
print("before run sync")
print p4.run_sync("{}/...#head".format("//depot/projectX"))
print("after run sync")
p4.disconnect()
if p4.errors:
print(p4.errors)
if p4.warnings:
print(p4.warnings)
输出:
python V:\tests\minimal.py
before run sync
Traceback (most recent call last):
File "V:\tests\minimal.py", line 11, in <module>
print p4.run_sync("{}/...#head".format("//depot/projectX"))
File "C:\Python27\lib\site-packages\P4.py", line 497, in <lambda>
return lambda *args, **kargs: self.run(cmd, *args, **kargs)
File "C:\Python27\lib\site-packages\P4.py", line 611, in run
raise e
P4.P4Exception: [P4#run] Warnings during command execution( "p4 sync //depot/projectX/...#head" )
[Warning]: '//depot/projectX/...#head - file(s) up-to-date.'
不返回任何内容,而且,它无法执行此语句之后的任何其他p4命令(在connect和disconnect之间)。此外,此失败操作之后的任何print
语句都将被忽略。我们在try-catch块中运行这个代码段,但是,run_sync
似乎没有抛出
编辑:基于samwise的评论
我用{
然而,当我打开p4v
并用鼠标右键单击//depot/project
和do get latest revision
时,执行的命令与此完全相同
在这里您将得到警告异常,您可以按异常级别解决它
参考文件Perforce Exception
相关问题 更多 >
编程相关推荐