Perforce:将分支恢复到旧的更改列表,然后将其恢复到当前状态

Perforce: restoring a branch to an old changelist and then restoring it to the current state

我想将我的分支恢复到给定的更改列表以生成某些可执行文件,然后将其恢复到原始状态。举个例子可以清楚地说明这一点。

目前进入 main 的最后一个变更列表是 @108。 我希望 main 恢复到更改列表 @100。 因此,如果有人同步,他们将看到最多 @100 的更改。 因此,工程团队只需执行 p4 sync.

即可从 @100 生成可执行文件

我必须这样做,因为工程团队不会这样做:

% p4 sync @100

由于工艺要求。

一旦完成,我需要在一天结束前将所有更改列表从 @101 恢复到 @108,这样夜间构建就不会受到影响。

是否有使用 p4v 的图形方式来执行此操作?如果有指向命令行选项的指针,它也会有所帮助。

如果您在 P4V 中右键单击一个文件夹,您可以选择 "Rollback..." 并选择 100 作为您要回滚到的更改列表。

然后在一天结束时,您将重复该过程并选择 108。

这应该让一切都保持在一天开始时的样子。只要在此过程中没有人签到,它就应该可以正常工作。

正如 Mike 所说,在 P4V 中执行 "Rollback..." 应该可以让您将所有内容重置为特定的更改列表。

我也会加入命令行版本。来自 "main" 根目录:

p4 copy ...@100 ...
p4 submit

这是 "p4 copy" 的一种稍微不典型的用法,但事实证明,仅在其自身之上复制目录的旧版本是一种非常有效且干净的回滚方式。您可以在 "p4 copy" 上使用“-v”选项来跳过必须将所有内容同步到您的工作区。