2012-05-05 53 views
3

P4.fetch_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()はあなたに現在のデフォルト・チェンジの辞書を与えることに注意してください:のようなものを試してみてください!

既にファイルがある可能性があります。だから、実際にを空にしてを作成するには、「変更」を伴うdict: 'new'と 'Description'を渡すことができます。

save_changeに実際のチェンジリストの整数を返す方法が見つかりませんでした。したがって、結果を分割してそのようにしてください:

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]) 
関連する問題