python - Perforce 中已提交更改的自动更新描述。 p4 change -u [更改列表]

标签 python perforce

因此,我们必须处理多个更改列表并更改它们的描述。 P4V 不是一个选项,该命令始终打开记事本以进行手动输入。

我想这是可能的,因为它在 P4V 编辑器中工作,甚至还有一个控制台命令。

我尝试使用命令行,但总是显示记事本输入:

p4 change -u 123< p4 change -i 123 (yeah even this shows the notepad)

使用 P4Python 也没有用:

change=p.fetch_change(changelist) 
change._description = do_change(change._description)
p.run_change('-u',change)
#p.save_change(... this works only with un-submitted changelists

而且我还尝试了 Python 中的普通 Popen,但我像使用批处理文件一样卡住了。 我想有人已经做了类似的事情。任何提示非常感谢! 提前致谢。

最佳答案

结合“change -u”和“change -i”你的想法是正确的,但这里是你想要的一般语法类型:

p4 change -o 123 | (text manipulation) | p4 change -u -i

“change -i”命令从 stdin 读取更改表单,因此您需要有一个更改表单才能读取;最简单的方法通常是从“change -o”开始以获取当前表单,然后使用一个简单的脚本对其进行修改(通常您可以使用“sed”单行代码来完成此操作)。由于“change -i”实际上是在服务器上修改表单,因此这是需要“-u”的命令。

关于python - Perforce 中已提交更改的自动更新描述。 p4 change -u [更改列表],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33440259/

相关文章:

python - 创建深度复制时尝试 pickle 未知类型

merge - Perforce:如何获得分支之间所有已更改文件的差异?

windows - Windows 上类似挖掘的功能?

python - 打印不带文件扩展名的 __file__

python - 从 App Engine 运行时 Python 3.7 调用云函数

python - 我想测试单个网页对多个请求的响应状态(查看该网页是否有404、5XX请求)

python - 雪花连接器错误: 001003 (42000): SQL compilation error (syntax error)

Perforce:如何将丢失的文件从 Depot 获取到 Workspace?

jenkins - 如何在 Jenkins 中使用perforce触发构建

encoding - Perforce 和 Jenkins 更改注释编码被破坏