奇怪的问题Perforce的p4同步无法捕获更改

时间:2019-09-19 22:14:30

标签: synchronization client perforce

大家好,我迫切需要帮助。

我的p4同步问题很奇怪/ ...总是返回

- file(s) up-to-date.

大约2周前开始间歇性地发生,然后缓慢地发展到100%不起作用,即p4同步不进行任何更改。

如果我跑步

p4 changes -m5
Enter password: 
User <p4user> logged in.
Change 1523039 on 2019/09/19 by *********************************************online fix read me info'
Change 1523038 on 2019/09/19 by *********************************************config ids to Part'
Change 1523037 on 2019/09/19 by **********************************************pending* 'Created item-definition cache f'
Change 1523036 on 2019/09/19 by ********************************************* '<saved by Perforce> '
Change 1523035 on 2019/09/19 by ********************************************* '<saved by Perforce> '

跑了p4同步/ ...,并得到了最新的文件响应。

我已经几次执行以下步骤

  • cd
  • p4同步…#0
  • rm -rf *
  • p4 sync -f…

这将成功同步所有文件。我将此作为我的自动构建流程的一部分,因此必须手动执行以上操作。

我确实做了

export P4CONFIG=~/.p4settings; /bin/p4 login < ~/.p4p; p4 workspace

并确认视图中的所有参数均正常。

我的构建管道已经工作了一年多。我迷失了如何解决这个问题。任何指针,不胜感激。

2 个答案:

答案 0 :(得分:2)

p4 sync -f是您的p4 clean解决方法的更快选择。与普通同步相比,它仍然很慢,因为它需要对整个工作区进行校验和,但是比通过网络重新传输所有文件至少要快一点。

至于找到并解决根本原因,这样您就可以全速并充满信心地进行同步,以下是一些需要预先检查的基本事项:

  1. p4 have同步到工作区后会显示什么?是头版,还是旧版?
  2. 如果p4 have显示您有旧修订版本,但p4 sync不想更新它们,请检查p4 opened-请记住p4 sync不会立即更新为打开状态文件(它将安排一个resolve,以便您可以合并更改)

我将继续假设p4 have显示您已经进行了头部修订,而问题不在于文件是opened

  1. 您是否曾经使用p4 sync -kp4 flush来强制更新Have列表而不更新工作区?如果这样的话,那么您的工作空间显然将随后变得不一致。您可能不想使用这些命令。
  2. 您是否使用相同的客户端规范来同步多台计算机?如果是这样的话,他们共享的是Have列表,而不是物理工作区,因此您未进行同步的计算机将与Have列表不一致。 请勿在多个工作空间中共享客户端规范。客户端规范中的Host字段将提醒您不要执行此操作,只要您不删除或覆盖{{ 1}}。

如果不确定这些问题的答案,可以检查服务器日志以查看该客户端规范已发出了哪些命令。您可能还需要考虑将客户端规范设置为P4HOST,以防止调皮的用法可能破坏您的构建流程。

答案 1 :(得分:0)

我正在努力解决它。无法找到解决方案,因此创建了一个新的工作区并复制到客户端配置和工作区视图中。我们的版本现在又可以正常工作了。