我正在寻找 Perforce 命令来在创建时、创建后或提交时更新非默认更改列表的描述。 您只能使用
p4 submit <description>
为默认更改列表设置提交时的描述。 当您尝试类似 p4 change <changelistnumber> -i <description>
之类的操作时,您将被迫编辑然后保存文本文件。 我正在寻找这样的东西(但这显然有效):
p4 change -c <changelistnumber> -d <description>
要提供编号变更列表的描述,“p4 change -i”是您想要的方式。
您实际上不必打开编辑器:只需根据需要提前准备一个文本文件,其中包含更改列表规范,包括修改后的描述,然后运行 'p4change -i NNN < mySpecFile.txt'.
运行“p4change-o>/tmp/change.txt”或“p4helpchange”以查看更改列表规范的整体格式。
如果您计划构建一个执行此操作的工具,您是否有首选的脚本语言(Perl/Ruby/Python/等)?如果是这样,Perforce 命令集可以非常优雅地集成到每种脚本语言中,这使得此类任务非常简单。
您还可以使用“p4change-u”。它将打开一个文本编辑器,您可以从中更新您的描述。
文档:https://www.perforce.com/manuals/cmdref/Content/CmdRef/p4_change.html?Highlight=p4%20change
我知道 -u 选项在 2015 版及更高版本中可用。我不知道旧版本。
您可以使用
--field
全局 Perforce 选项来执行此操作,而无需调用任何编辑器。它记录在 p4 help undoc
:
p4 --field Field=replacement_text p4 --field Field+=extra_text Modify the contents of a spec returned by p4 [specname] -o. The modified spec can be piped directly to another command that expects a formatted spec, e.g. p4 [specname] -i.
因此,如果您想更新现有变更列表的描述,并知道您想要的描述是什么,您可以运行:
p4 --field 'Description=Add the Widget to the frobulator' change -o 12345 | p4 change -u -i
以下是一些有用的命令: