我的目标是自动创建一个变更列表。我通过运行一些编辑命令并在代码序列的末尾提交更改列表来做到这一点。
我以类似的顺序运行所有命令:
//Open all files in folder for edit in default changelist
p4.run(("edit", Folder + "..."))
//Move all files from default changelist to new changelist
changespec = p4.fetch_change()
changespec["Description"] = "test"
p4.save_change(changespec)
//Get changelist number
ChangeListNum = p4.run(("changes", "-m1", Folder + "..."))[0]['change']
//Run checks on files before submitting
p4.run("reconcile", "-a", "-c", ChangeListNum, Folder + "...")
p4.run("resolve", "-at", "-c", ChangeListNum, Folder + "...")
p4.run("revert", "-a", "-c", ChangeListNum, Folder + "...")
//Submit change list
p4.run("submit", "-c", ChangeListNum, "-f", "revertunchanged")
现在,在我的检查和提交过程中,我的记录器报告了这个错误:
“更改 #CL_Number 已提交。”
我确信它必须与混合 P4Python 函数(如p4.fetch_change()
和p4.run()
. 我不确定如何解决此问题,但以下是我尝试过的一种解决方案。
我尝试更改代码块:
changespec = p4.fetch_change()
changespec["Description"] = "test"
self.p4.save_change(changespec)
对此:
p4.run("change", "-i", "<", "P4ChangeList.txt")
该命令读取我所做的更改列表 txt,并使用这些参数创建一个新的更改列表。但是,它仅适用于 cmd 而不适用于 python 命令。
感谢您的任何帮助!