大家好,我迫切需要帮助。
我的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同步/ ...,并得到了最新的文件响应。
我已经几次执行以下步骤
这将成功同步所有文件。我将此作为我的自动构建流程的一部分,因此必须手动执行以上操作。
我确实做了
export P4CONFIG=~/.p4settings; /bin/p4 login < ~/.p4p; p4 workspace
并确认视图中的所有参数均正常。
我的构建管道已经工作了一年多。我迷失了如何解决这个问题。任何指针,不胜感激。
答案 0 :(得分:2)
p4 sync -f
是您的p4 clean
解决方法的更快选择。与普通同步相比,它仍然很慢,因为它需要对整个工作区进行校验和,但是比通过网络重新传输所有文件至少要快一点。
至于找到并解决根本原因,这样您就可以全速并充满信心地进行同步,以下是一些需要预先检查的基本事项:
p4 have
同步到工作区后会显示什么?是头版,还是旧版?p4 have
显示您有旧修订版本,但p4 sync
不想更新它们,请检查p4 opened
-请记住p4 sync
不会立即更新为打开状态文件(它将安排一个resolve
,以便您可以合并更改)我将继续假设p4 have
显示您已经进行了头部修订,而问题不在于文件是opened
。
p4 sync -k
或p4 flush
来强制更新Have列表而不更新工作区?如果这样的话,那么您的工作空间显然将随后变得不一致。您可能不想使用这些命令。Host
字段将提醒您不要执行此操作,只要您不删除或覆盖{{ 1}}。如果不确定这些问题的答案,可以检查服务器日志以查看该客户端规范已发出了哪些命令。您可能还需要考虑将客户端规范设置为P4HOST
,以防止调皮的用法可能破坏您的构建流程。
答案 1 :(得分:0)
我正在努力解决它。无法找到解决方案,因此创建了一个新的工作区并复制到客户端配置和工作区视图中。我们的版本现在又可以正常工作了。