我有一个大约 600 个作业的列表,我无法从命令行中删除它们,因为它们附加到更改列表中。我知道如何分离它们的唯一方法是通过 GUI,但这需要很长时间。有谁知道更好(即更快)的方法?
raven
问问题
1864 次
3 回答
2
我使用“修复”和“修复”命令解决了这个问题。这是程序:
将“修复”命令的输出转储到文件中
p4 fixes > tmp.txt
该文件将包含一堆这样的行:
job005519 fixed by change 3177 on 2007/11/06 by raven@raven1 (closed)
job005552 fixed by change 3320 on 2007/12/11 by raven@raven1 (closed)
job005552 fixed by change 3318 on 2007/12/10 by raven@raven1 (closed)
...
使用您可信赖的文本编辑器(这里我不是在谈论记事本)创建一个宏,将行转换为 Perforce 命令以从变更列表中分离作业,(p4 fix -d):
p4 fix -d -c 3177 job005519
p4 fix -d -c 3320 job005552
p4 fix -d -c 3318 job005552
...
将文件另存为 .bat 或 .cmd 文件并运行它,然后 bada bing,bada boom...您的所有作业都从更改列表中分离出来,您可以使用 GUI 或使用类似于我刚才的过程删除它们概述和“作业”命令的输出:
p4 jobs > tmp.txt
于 2008-10-21T17:02:10.740 回答
0
Perforce 的 -x 参数非常方便;它“指示 p4 从命名文件 [或] 标准输入中读取参数,每行一个”。另外,我相信“job -d”允许删除作业,即使它们与更改相关联。因此,要删除与更改列表关联的所有作业,请执行以下操作(未经测试):
p4 fixes -c <changenum> | p4 -x - job -d
于 2008-11-02T02:17:24.270 回答
0
您可以使用以下 DOS 脚本来解析 p4 修复的输出,然后删除修复和作业:
设置 users_filename=%1
for /F "tokens=1,5 delims=" %%i in (%users_filename%) do (
p4 修复 -d -c %%j %%i
p4 作业 -d %%i
)
于 2010-10-18T12:56:40.130 回答