我最近遇到了这个问题,询问如何使用 p4 命令行实用程序创建一个空的变更列表。 它提到您可以使用 --field "Files=" 选项将文件添加到新的变更列表中。 如果我只想添加一个文件,这对我来说效果很好。 但是,我似乎无法添加多个文件。
例如,假设我有两个测试文件,我可以用一个命令添加它们:
p4 add test1.txt test2.txt
扩展上面链接的问题中描述的方法,我认为我可以这样做来创建一个新的更改列表:
p4 --field "Description=test submission" --field "Files= //depot/folder/test1.txt //depot/folder/test2.txt" change -o | p4 change -i
但是,我收到一个错误,声称所需的文件不在客户端视图中(认为这是因为它将整个字符串作为一个文件读取)。 我一次只能让它处理一个文件,即
p4 --field "Description=test submission" --field "Files=//depot/folder/test1.txt" change -o | p4 change -i
任何想法如何将这两个文件添加到这个新的更改列表中?
谢谢!
你让它变得比它需要的更复杂。
也就是说,您可以使用 +=
运算符,如下所示:
p4 --field "Description=test submission" --field "Files=//depot/folder/test1.txt" --field "Files+=//depot/folder/test2.txt" change -o | p4 change -i
但不要那样做。 这些是执行相同操作的更简单方法:
p4 add test1.txt test2.txt
p4 --field Description=test change -o | p4 change -i
或:
p4 add test1.txt test2.txt
p4 --field Description=test --field Files= change -o | p4 -Ztag -F "reopen -c %change% test1.txt test2.txt" change -i | p4 -x - run
(好吧,如果您尝试将其作为单行脚本来执行,那么最后一个就不是那么简单了 - 如果您只是自己运行"p4 change"并且可以将更改编号传递给p4 reopen
,那就非常简单了)
(编辑)还有一个,这个适合一长行:
p4 --field Description=test --field Files= change -o | p4 -Ztag -F "add -c %change% test1.txt test2.txt" change -i | p4 -x - run