首页 > 解决方案 > 为什么 p4 flush 不更新我的拥有列表?

问题描述

我的 p4 客户端版本是 P4/NTX64/2018.1/1705517。
我注意到我的工作区中的一些文件被意外删除了。我同步了,但即便如此,文件也没有出现。
然后我运行p4 have命令并看到它包含丢失的文件,因此 p4 不会在同步中包含这些文件。
当然,我可以p4 sync用 flag 发出命令-f,但是我的工作空间很大,所以需要很长时间。
然后我运行该flush命令,即使-f标志认为它会更正我的have列表以反映我在工作区的文件系统上实际拥有的内容,但事实并非如此。我究竟做错了什么?

标签: perforce

解决方案


p4 flush更改have列表以匹配您告诉它匹配的任何内容(如果没有参数,#head则为默认值)。如果这不是您的工作区实际包含的内容,那么 have 列表现在与工作区不同步,未来的p4 sync命令可能会跳过一堆文件(就像您现在看到的一样)。

您想要的命令是p4 clean,它会同步您的工作区以匹配您的列表。(如果您对未打开的文件进行了更改,包括您尚未打开的“新”文件p4 add,这将不可撤销地炸毁它们。小心!)

如果您想打开与您的列表不匹配的文件,请p4 reconcile改用。(您可以跟进p4 revert以放弃更改,或p4 submit永久保留它们。)


推荐阅读