2012-05-05 38 views
3

P4.fetch_change()創建一個更改規範,其中Change等於'new'。我需要創建一個具有實際編號的變更規格(不會與其他更改相沖突)。 IOW,我需要能夠保留更改號碼。如何使用P4Python創建編號的更改列表?

這怎麼能用P4Python完成?

上下文:我的腳本需要一個已經存在的更改列表號碼。我需要能夠測試腳本是否正常工作。

回答

6

P4.save_change()生成一個變更號碼 - 也就是說,它創建了一個編號,待修改列表。嘗試是這樣的:

changespec = P4.fetch_change() 
changespec[ "Description" ] = "placeholder" 
P4.save_change(changespec) 
0

Perforce不允許您保留更改列表號碼。如果你想利用提交的P4Python現有(待定)變更列表,這樣做: p4.run_submit("-c", changelist)

1

注意p4.fetch_change()給你當前缺省的變更的字典!

你可能已經有文件了!所以要真正創建一個空的你可以通過一個字典與'改變':'新'和'描述'。

我找不到一種方法使save_change返回實際的更改列表整數。所以人們可以將結果拆分並以nr表示:

from P4 import P4 

def create_empty_changelist(desc='some description'): 
    p4 = P4() 
    p4.connect() 
    result = p4.save_change({'Change': 'new', 'Description': desc})[0] 
    return int(result.split()[1]) 
相關問題