Can't clobber writable file **************

最近搭建了新的quick check server, workspace也是新的。但是get latest (unshelve)的时候,出现以下错误:

can't clobber writable file ........

在网上,各种搜索解决方案:

大多说,将这个文件检查一下是不是readonly的,如果不是设置成readonly的!

我试验了一下,果然可以!!!

但是,引起check是自动程序,readonly的属性几乎是随机,所以没办法每次报错了再去改单个文件的属性设置为readonly。继续搜,发现p4默认的机制是不能同步覆盖本地的可读写文件的,

这个看起来相当的诡异,因为一般人估计都不知道他执行”get latest“的时候,其实是大多数带有失败的”必然的“,为什么这么说,因为软件自动生成的文件或者其他地方拷贝来的残留文件都会导致你”get latest“失败,因为p4 只会覆盖readonly的文件,

因为它认为readonly的文件是你不在编辑的文件,它覆盖是不会导致你文件丢失的。

想想这样的逻辑也是合情合理,可是一般人怎么知道我获取了最新,原来是”抱着如此美好的希望,却不知,就算是我不给你最新,也是为了你好啊!!!“。   

对于quick check server,只作为unshelve --->check---->revert 的机器,是不会有人在上面改代码的,假设情景是这样,那么我就不需要p4 给我那么大的空间,害怕修改我的本地文件,而不给我最新。

所以,我要p4 整个文件夹download下来,覆盖掉本地,以便拿最新的代码测试。 找到一个文章,很好的满足需求:

http://easyprograming.com/eclipse-articles/57-fix-the-cant-clobber-writable-file-error-in-perforce-version-control-system/

这个文章,还给了eclipse里如何修改这个设置,值得推荐。

原文地址:https://www.cnblogs.com/xiami303/p/4074135.html