Perforce 仅同步仓库中的差异,但接收错误“必须参考“客户”;

Perforce 仅同步仓库中的差异,但接收错误“必须参考“客户”;,perforce,p4v,perforce-client-spec,perforce-stream,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=MYW

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

我目前可以看到此命令的区别:

p4 diff -sd //depot/source/...
但当尝试使用此命令将站点差异同步到我的本地工作区时:

p4 diff -sd //depot/source/... | p4 -x - sync -f | p4 //depot/source/...
我在终端中收到此消息:

“-必须引用客户端”

注意:在执行上述所有命令之前,我使用

p4 set P4CLIENT=MYWORKSPACE

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

p4 sync
p4 sync
命令的默认行为是仅同步已更改的文件;你不需要执行任何特殊的旋转来实现这一点

服务器对服务器和您的工作区之间的区别的概念取决于上次同步时服务器发送给您的内容的记录。如果您以不受支持的方式破坏了工作区(例如,您修改了Perforce设置为只读的文件,而没有“打开”这些文件进行修改),则这些记录将无效。您可以通过以下两种方式之一修复此问题,具体取决于您希望对修改执行的操作:

p4 reconcile
将打开您修改的文件,允许您在
恢复
修改或
提交
修改之间进行选择

p4 clean

将简单地覆盖您的修改,类似于
p4 sync-f
,但
p4 clean
将对您修改的文件进行区分,并仅重新同步这些文件。

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

p4 sync
p4 sync
命令的默认行为是仅同步已更改的文件;你不需要执行任何特殊的旋转来实现这一点

服务器对服务器和您的工作区之间的区别的概念取决于上次同步时服务器发送给您的内容的记录。如果您以不受支持的方式破坏了工作区(例如,您修改了Perforce设置为只读的文件,而没有“打开”这些文件进行修改),则这些记录将无效。您可以通过以下两种方式之一修复此问题,具体取决于您希望对修改执行的操作:

p4 reconcile
将打开您修改的文件,允许您在
恢复
修改或
提交
修改之间进行选择

p4 clean

将简单地覆盖您的修改,类似于
p4 sync-f
,但是
p4 clean
将对您修改的文件进行区分,并且只会重新同步这些文件。

因此,如果我执行此p4 clean-d//depot/source/。。。它不应该删除仓库中的任何内容?我不想删除仓库里的任何东西。提前感谢。不,
p4 clean
只会影响您的工作区。它将不可撤销地删除您工作区中尚未提交给仓库的修改。请尝试。我现在做一个“p4清理”来抓取丢失的文件,并用一个“p4 snyc”来跟踪它,它抓取仓库中最近提交的任何更改。我的问题的完美解决方案。非常感谢您的帮助。如果您可以避免手动删除工作区文件(使用
p4 sync FILE#none
而不是
rm FILE
),您就不需要执行
p4 clean
步骤。当您通过对
#none
修订版执行
p4 sync
来删除文件时,对
#head
修订版执行后续的
p4 sync
将自动获取丢失的文件。我建议您在$HOME目录中定义一个.p4ignore文件,并将p4ignore变量设置为该文件。您可以列出不希望“p4 clean”删除的文件。例如,我的~/.p4ignore文件在客户端根目录中包含.p4config和少量其他点文件。。。它不应该删除仓库中的任何内容?我不想删除仓库里的任何东西。提前感谢。不,
p4 clean
只会影响您的工作区。它将不可撤销地删除您工作区中尚未提交给仓库的修改。请尝试。我现在做一个“p4清理”来抓取丢失的文件,并用一个“p4 snyc”来跟踪它,它抓取仓库中最近提交的任何更改。我的问题的完美解决方案。非常感谢您的帮助。如果您可以避免手动删除工作区文件(使用
p4 sync FILE#none
而不是
rm FILE
),您就不需要执行
p4 clean
步骤。当您通过对
#none
修订版执行
p4 sync
来删除文件时,对
#head
修订版执行后续的
p4 sync
将自动获取丢失的文件。我建议您在$HOME目录中定义一个.p4ignore文件,并将p4ignore变量设置为该文件。您可以列出不希望“p4 clean”删除的文件。例如,我的~/.p4ignore文件在我的客户机根目录中包含.p4config和少数其他点文件。