Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perforce-从命令行提交特定的文件列表_Perforce_Changelist - Fatal编程技术网

Perforce-从命令行提交特定的文件列表

Perforce-从命令行提交特定的文件列表,perforce,changelist,Perforce,Changelist,我是p4命令行用户。 典型的用例是,我在所有文件中搜索一个模式,打开这些文件进行编辑,SED替换模式,只提交修改过的文件 如何从命令执行此操作?有没有办法创建一个新的变更列表,将这些文件添加到变更列表中,并将新的变更列表提交到默认变更列表中。p4-x全局标志允许您将文件或stdin as-的内容作为参数传递给p4命令。p4 edit命令接受任意数量的文件参数;默认情况下,p4 submit命令将对所有打开的文件进行操作 C:\Perforce\test\grep>p4 print ...

我是p4命令行用户。 典型的用例是,我在所有文件中搜索一个模式,打开这些文件进行编辑,SED替换模式,只提交修改过的文件

如何从命令执行此操作?有没有办法创建一个新的变更列表,将这些文件添加到变更列表中,并将新的变更列表提交到默认变更列表中。

p4-x全局标志允许您将文件或stdin as-的内容作为参数传递给p4命令。p4 edit命令接受任意数量的文件参数;默认情况下,p4 submit命令将对所有打开的文件进行操作

C:\Perforce\test\grep>p4 print ...
//stream/main/grep/bar#1 - add change 145 (text)
wibble
//stream/main/grep/baz#1 - add change 145 (text)
wibble
//stream/main/grep/foo#1 - add change 145 (text)
weeble
//stream/main/grep/ola#1 - add change 145 (text)
weeble

C:\Perforce\test\grep>grep -l weeble * | p4 -x- edit
//stream/main/grep/foo#1 - opened for edit
//stream/main/grep/ola#1 - opened for edit

C:\Perforce\test\grep>sed -i -e s/weeble/wobble/ *

C:\Perforce\test\grep>p4 diff
==== //stream/main/grep/foo#1 - c:\Perforce\test\grep\foo ====
1c1
< weeble
---
> wobble
==== //stream/main/grep/ola#1 - c:\Perforce\test\grep\ola ====
1c1
< weeble
---
> wobble

C:\Perforce\test\grep>p4 submit -d "weeble wobble"
Submitting change 146.
Locking 2 files ...
edit //stream/main/grep/foo#2
edit //stream/main/grep/ola#2
Change 146 submitted.
注意,上面示例中的p4 print和p4 diff命令不必提交文件;为了理解这个示例,我只是包含了这个输出,以显示流程中这些点的文件状态