【问题标题】:p4 sync to an alternate locationp4 同步到备用位置
【发布时间】:2011-11-09 21:16:23
【问题描述】:

我正在编写一个构建脚本,它获取特定变更列表的所有源代码并构建它。我希望能够随时运行脚本,而不必搁置本地更改或将文件移动到临时位置。该脚本将由定义了自己的工作区的其他人使用。

我认为将所有源代码从 Perforce 获取到一个临时位置并从那里构建是最简单的。不幸的是,p4 sync 似乎不支持这一点,它只会将文件放入工作区指定的客户端视图中,这意味着它会在我将文件复制到临时位置之前覆盖本地更改。

有没有办法使用p4 将文件从 Perforce 复制到任意位置?

【问题讨论】:

  • FWIW 我后来了解到,将构建过程的“获取构建输入”步骤与“将输入转换为输出”步骤结合起来并不是一个好主意。将它们分开可以更轻松地准确确定使用了哪些输入,并更容易在 CI 服务器上实现自动化。

标签: perforce


【解决方案1】:

您可以为构建脚本创建一个专用工作区,然后通过使用使构建脚本同步到它

p4 -c [workspace name] sync [depot path]

这是一个持续构建系统通常会做的事情。在这种情况下,请务必清除工作空间规范的 Host: 部分,以便它可以在多个系统上使用。

另一种方法可能是使用带有 -o 选项的 p4 print 将文件转储到任意位置而不同步它们。

【讨论】:

    【解决方案2】:

    P4 同步只能针对客户端规范进行。可能,您需要创建另一个客户端规范并同步到该客户端规范。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-15
      • 2016-10-02
      • 2015-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      • 2011-04-23
      相关资源
      最近更新 更多