P4 sync 代码文件缺失
最近新项目需要使用源代码管理工具Perforce,之前听说过这个不太好用,但是公司七八年之前的老项目代码还在P4服务器上面,这个新项目是基于之前的老项目,不得不沿用P4。
P4 的各种proxy.ini 配置就不说了,说说遇到的几个坑。
Senario1
host上两个月前拉的代码可以正常编过,现在重新sync 代码发现编译失败。
查看编译log发现文件有缺失,在depot里查看,库里文件被删除了,P4Inc里面的文件链接是没有的。联系管理员说是因为项目太久,文件被归档了,太坑了。文件不存在,sync文件的时候并没有报错,也没有任何风险提示。而且sync的时候会将之前原来本地有的,现在库里不存在的直接删除,虽然P4inc里面是有写的!这个错在拉代码的时候没有爆出来,幸运的是在编译的时候报出来了。如果编译的时候没有报错,但是功能有问题,版本直接到测试那边去了,又是浪费时间。
Senario2
Depot里面文件恢复了,重新sync代码,仍然有代码拉不下来,并且不同机器拉代码,缺失的文件还不一样。查看sync的log,也没有任何提示信息。在最后尝试着删掉clinet,重新拉代码。第一次删clinet的时候,只在一台服务器上删掉了clinet,其余三台机器没有删,还是同样的问题。后面请教用过P4的人,clinet怎样删除,得到答案是要在所有server上把clinet删除。果然四台机器的clinet都删除,重新拉代码,就妥妥的拉下来了。
两个月期间,本机host配置没有任何变更,代码拉不下来,重建client后就拉下来了。