Perforce 中已提交更改的自动更新描述。 p4 change -u [更改列表]
Automatic update description of already submited change in Perforce. p4 change -u [changelist]
因此,我们必须处理多个更改列表并更改它们的描述。
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"命令从标准输入读取变化形式,所以你需要有一个变化形式才能读取;最简单的方法通常是从 "change -o" 开始获取当前表单,然后使用简单的脚本对其进行修改(通常您可以使用 "sed" 一行来完成)。由于 "change -i" 是实际修改服务器上的表单的内容,因此这是需要“-u”的命令。
你说你试过了:
p4 change -u 123< p4 change -i 123 (yeah even this shows the notepad)
<
运行s p4 change -u 123
左侧的命令,当然会生成您的编辑器,因为它 运行 没有 -i
。 (p4 change -i
从标准输入读取。)注意 p4 help change
显示:
p4 change -i [-s] [-f | -u]
并且 p4 change -i
不期望更改编号(而是从 stdin
提供的更改描述中获取更改编号),但它确实明确声明它可以与 -u
,所以你只需要:
p4 change -i -u < CHANGE_DESCRIPTION
感谢两位的回答:
P4Python中有解决方法:
p4.fetch_change(changelist)
p4Change._description = 'my new description'
p4.input=p4Change
p4.run_change('-u', '-i')
对我来说,你们俩都让我意识到的诀窍是,您可以将已提交的更改列表传递给 "change -u -i"。而且我发现了如何在 p4python 中进行管道传输……恕我直言,现在干净多了。
再次感谢两位!
因此,我们必须处理多个更改列表并更改它们的描述。 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"命令从标准输入读取变化形式,所以你需要有一个变化形式才能读取;最简单的方法通常是从 "change -o" 开始获取当前表单,然后使用简单的脚本对其进行修改(通常您可以使用 "sed" 一行来完成)。由于 "change -i" 是实际修改服务器上的表单的内容,因此这是需要“-u”的命令。
你说你试过了:
p4 change -u 123< p4 change -i 123 (yeah even this shows the notepad)
<
运行s p4 change -u 123
左侧的命令,当然会生成您的编辑器,因为它 运行 没有 -i
。 (p4 change -i
从标准输入读取。)注意 p4 help change
显示:
p4 change -i [-s] [-f | -u]
并且 p4 change -i
不期望更改编号(而是从 stdin
提供的更改描述中获取更改编号),但它确实明确声明它可以与 -u
,所以你只需要:
p4 change -i -u < CHANGE_DESCRIPTION
感谢两位的回答:
P4Python中有解决方法:
p4.fetch_change(changelist)
p4Change._description = 'my new description'
p4.input=p4Change
p4.run_change('-u', '-i')
对我来说,你们俩都让我意识到的诀窍是,您可以将已提交的更改列表传递给 "change -u -i"。而且我发现了如何在 p4python 中进行管道传输……恕我直言,现在干净多了。 再次感谢两位!