【问题标题】:Can I create a branch in Perforce based on a historic point in time?我可以根据历史时间点在 Perforce 中创建分支吗?
【发布时间】:2014-02-21 00:18:41
【问题描述】:

我想在 Perforce 中创建一个基于过去某个时间点的分支,即不是当前分支的当前状态,这可能吗?如果有,怎么做?

这是我正在尝试做的图片。当前分支为蓝色,新的所需分支为绿色。

【问题讨论】:

    标签: branch perforce


    【解决方案1】:

    这样就可以了:

    p4 copy //depot/project/dev/...@release_x_label //depot/project/release_x/...
    

    该命令告诉 Perforce 将 //depot/project/dev/...release_x_label 复制到 //depot/project/release_x/。 .. 您可以使用 p4 copy -v 完全在服务器端运行此命令。如果您不需要本地文件的副本,它会更快。

    您可以使用 p4 populate

    一次性完成,无需提交
    p4 populate //depot/project/dev/...@release_x_label //depot/project/release_x/...
    

    我通常使用副本来确保我没有任何拼写错误。 =)

    您也可以使用流来完成所有这些操作。有点奇怪的是,您用来选择要从哪个分支分支的修订说明符被放在您要分支到的目标路径上。

    p4 populate -rs //stream/dev2 //stream/dev2/...@1
    

    这将从 changelist1 的父级填充 dev2。

    【讨论】:

    • 完美!出于好奇,有没有办法使用 p4v 来实现这一点?
    • 回答我自己的问题,是的,在 p4v 中是可能的。我最终使用了“分支”菜单,它有一种简单的方法来搜索和选择我想要分支的标签,p4v 的最终结果与您上面建议的“p4 copy -v”命令相同,只是构建而是通过 GUI 选项。谢谢!
    • 也许它需要一个单独的问题,但你能用后一个命令填充一个新的“流”吗?
    • 确实如此。我在上面的答案中添加了一个流示例。
    • 从另一个答案和一些非常基本的测试来看,我认为流版本不需要提供源代码,因为无论如何这必须是父流。我使用了 'p4​​ populate -rS //stream/dev2 @XX' 并且它工作正常,从父级获取 XX 更改列表
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多