Perforce p4同步到备用位置

Perforce p4同步到备用位置,perforce,Perforce,我正在编写一个构建脚本,获取特定变更列表的所有源代码并构建它。我希望能够在任何时候运行脚本,而不必搁置本地更改或将文件移动到临时位置。脚本将由定义了自己工作空间的其他人使用 我认为在临时位置从Perforce获取所有源代码并从那里构建是最简单的。不幸的是,它似乎不支持这一点,它只会将文件放入工作区指定的客户机视图中,这意味着在我将文件复制到临时位置之前,它将覆盖本地更改 有没有办法使用p4将文件从Perforce复制到任意位置?您可以为生成脚本创建一个专用工作区,然后使用 p4 -c [work

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

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


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

您可以为生成脚本创建一个专用工作区,然后使用

p4 -c [workspace name] sync [depot path]
这是连续构建系统通常要做的事情。在这种情况下,请确保清空工作空间规范的Host:部分,以便可以在多个系统上使用它


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

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

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