在 Perforce 中使用 --field 运算符将多个文件添加到更改列表
Adding multiple files to changelist using --field operator in Perforce
我最近遇到 询问如何使用 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
)
(edit) 再多一个,这个适合一长行:
p4 --field Description=test --field Files= change -o | p4 -Ztag -F "add -c %change% test1.txt test2.txt" change -i | p4 -x - run
我最近遇到
例如,假设我有两个测试文件,我可以用一条命令添加它们:
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
)
(edit) 再多一个,这个适合一长行:
p4 --field Description=test --field Files= change -o | p4 -Ztag -F "add -c %change% test1.txt test2.txt" change -i | p4 -x - run