5

与“p4 同步”的奇怪行为完全混淆。尝试运行以下命令

注意:工作区中不存在文件名

p4 sync //depot/filename --- 显示文件是最新的

p4 has //depot/filename --- 显示不在客户端的文件

认为可能是 perforce 服务器认为该文件存在于其客户端的数据库中。所以删除了文件使用

p4 sync //depot/filename#none --- 显示文件是最新的

p4 sync //depot/filename#head --- 显示文件是最新的

最后当我说

p4 has //depot/filename --- 显示不在客户端的文件

然后我做了

p4 sync -f //depot/filename#head --- 显示 //depot/filename - 删除为 c:/workspace/filename

最后

p4 有 //depot/filename --- 显示文件不在客户端。

知道这里可能是什么问题吗?

4

1 回答 1

7

运行“p4 files //depot/filename”,你会看到它是一个已删除的文件。

如果您的客户端上存在旧版本的文件(即“p4 have”表示那里有东西),“p4 sync”将删除它。由于该文件已经不在您的客户端上,因此您已经是“最新的”。

运行“p4 sync -f”会强制执行该问题并尝试删除本地文件,即使 have 表显示没有任何内容。(如果您在其位置添加了一个全新的文件并且尚未执行“p4 add”,那么该文件现在将永远丢失 - 使用“p4 sync -f”时要小心!)

于 2014-12-12T18:30:01.287 回答