仅同步仓库中的差异,但收到错误“-必须引用客户端”

时间:2019-12-03 00:04:29

标签: perforce p4v perforce-client-spec perforce-stream

我只希望将仓库中的差异同步到我的工作区中。 我不想重新同步所有已经匹配的源文件。

我现在可以看到与此命令的区别:

p4 diff -sd //depot/source/...

但是当尝试使用此命令将软件仓库差异同步到我的本地工作空间时:

p4 diff -sd //depot/source/... | p4 -x - sync -f | p4 //depot/source/...

我在终端收到此消息:

  

“-必须引用客户”

注意:在执行上述所有命令之前,我使用以下方式设置了客户端

p4 set P4CLIENT=MYWORKSPACE

1 个答案:

答案 0 :(得分:3)

要仅同步自上次同步以来服务器上已更新的文件,请执行以下操作:

p4 sync

p4 sync命令的默认行为是仅同步更改的文件;您无需执行任何特殊的旋转就可以实现这一目标。

服务器对服务器和工作空间之间的区别的概念取决于其上次同步时向您发送的内容的记录。如果您以不受支持的方式弄乱了工作区(即,您修改了Perforce设为只读的文件,而没有“打开”它们进行修改),则这些记录将无效。您可以通过两种方式之一来解决此问题,具体取决于您要进行的修改:

p4 reconcile

将打开您修改的文件,使您可以选择revert进行修改或submit进行修改。

p4 clean

将简单地覆盖您的修改,类似于p4 sync -f,但是p4 clean会进行比较以找出您修改了哪些文件,并且只会重新同步这些文件。