1

(我已经在 SU 上问过这个问题;虽然我很欣赏那里的 Tumbleweed 徽章,但我更希望得到一个答案......)

我有一个未决的反向集成,我想对已签出以进行集成的文件再次执行。用例是当我在集成源中进行了更改并且我想再次将其传播到集成目标时,但我不想对整个分支规范执行集成 - 只是我已经存在的文件已开放集成。有没有自动的方法来完成这个?

更新:

我使用的是命令行工具,而不是 p4v 或其他 GUI。另外,请考虑我可能还打开了其他文件的可能性,例如,其中的文件p4 opened集可能是我感兴趣的更改列表的超集。

4

2 回答 2

4

Perforce 因不提供完整的工具而臭名昭著,只提供您可以管道和处理的东西。你可以尝试做类似的事情

for file in `p4 opened` do
  p4 integ $file $somedestination/$file
done
于 2009-11-02T18:59:13.673 回答
3

你的意思是你想恢复你现有的集成并重新做它们以包括最近提交的更改?如果是这样,这样的事情可能会起作用:

p4 opened | sed -e 's:#.*::' > filespecs
xargs < filespecs | p4 revert
xargs < filespecs | p4 integrate -b branch

第一个命令是无害的,但其他两个是破坏性的,因此通过在 p4 命令之前添加“echo”来进行测试,以确保生成的命令 p4 命令看起来对您来说是正确的。例如:

xargs < filespecs | echo p4 revert
xargs < filespecs | echo p4 integrate -b branch
于 2009-11-02T19:00:30.293 回答