无法签出文件并使用p4 python关联到挂起的更改列表

时间:2016-11-15 08:24:54

标签: python perforce p4python

try: # Catch exceptions with try/except
    p4.connect() # Connect to the Perforce Server
    p4.run_login()

    client = p4.fetch_client()
    client['View'] = ['//TestPublic/Extern/firanl/... //mitica/TestPublic/Extern/firanl/...']  # workspace mapping
    p4.save_client(client)
#    p4.run_sync()   # this command stops the execution of other commands after this

    result = p4.run("fstat", perforce_path)[0]
    file1 = result['clientFile']

    change = p4.fetch_change()
    change._files = [file1]     #associate file to changelist
    change._description = 'aaaaaa'
    p4.run_submit(change)



    p4.disconnect() # Disconnect from the Server
except P4Exception:
    for e in p4.errors: # Display errors
        print e

当我运行代码时,会给我这个错误: “更改规范出错。 无法包含尚未打开的文件。 使用p4 add,p4 edit等打开新文件“

我尝试用p4.run(“edit”,file1)打开文件,但程序什么都不做,并且在此之后不运行下一个命令。 如何打开文件以及p4 add和p4 edit的python工作命令是什么?

1 个答案:

答案 0 :(得分:1)

专注于run_sync命令。我的猜测是它没有使用你刚设置的客户端。

要验证 的用途,请运行run_set并打印其结果。

要确保您正在使用您的客户端,请在保存之前先给它命名(使用client['Name'] = 'MyClient'),然后告诉您的P4Python使用它(p4.client = 'MyClient')。

然后运行同步。