有大量使用您的用户/通行证作为凭据使用p4python连接到p4服务器的示例,但很少描述如何使用p4ticket。目前还不清楚如何在p4python中使用p4tickets文件。
答案 0 :(得分:2)
事实证明,perforce文档真的非常精确。文档基本上说如果用户没有登录,那么你必须提供登录密码。该硬币的另一面是,如果用户登录,则不需要密码。因此,例如,假设用户已登录:
>>> p4 -u 'username' login
然后,在您的p4python脚本中,以下内容将连接:
p4con = P4.P4()
p4con.user = 'username'
p4.con.connect()
p4python连接自然地使用〜/ .p4tickets文件。
答案 1 :(得分:0)
要在P4 Python脚本(或P4命令行)中使用票证,您实际上只是将票证放在要求输入密码的任何地方。因此,存在一个优先级问题,即P4 Python从那里获取票证的优先级与P4命令行的工作方式不一致。
在P4 Python中:
从命令行运行P4:
示例1-如果票证文件中有条目,则它将用第3行中设置的用户值覆盖第4行中p4.password中设置的值。如果票证文件中没有条目,它将使用提供的凭据并更新票证文件,以便第二次运行脚本时,它将使用该凭据而不是提供的凭据。
from P4 import P4
p4 = P4()
p4.user = user
p4.password = ticket
示例2-这将始终使用提供的凭据,因为我们实际上并未使用真实文件。
from P4 import P4
p4 = P4()
p4.user = user
p4.password = ticket
p4.ticket_file = '/dev/null'
tl; dr-在Perforce要求输入密码的任何地方使用票证。如果要在脚本中使用票证,请先设置ticket_file='/dev/null'
以确保预期的行为。