当您向Perforce添加文件时,它会尝试确定文件的类型(文本,二进制,utf16等)。它做得很好,但显然从未在初始提交到版本控制后再次检查文件类型。最近一位同事对一个将其转换为Unicode(utf16)的文本文件进行了更改。 Perforce没有认识到这一点,仍然认为它是 text ,所以当其他人检索到文件时,它已经损坏了。
我们通过重新提交文件并明确将文件类型更改为 utf16 来修复此问题,但如果这种情况自动发生,则更愿意。有办法强制它总是使用某种编码类型,但我不知道我是否喜欢这个想法。有没有人处理过,并找到了解决这个问题的方法?
答案 0 :(得分:5)
Perforce技术支持有这样说:
Perforce不会检查内容 提交编辑时的文件。
检查每个文件的编辑 内容可能非常昂贵。 “text”和“utf16”不是唯一的 要注意的文件类型,文件 可能会改变类型 例如,“text”到“binary”。
另一个问题是有时候 用户想要覆盖默认值 Perforce如何识别a的行为 文件。服务器应该如何反应 这种情况,如果实际的文件类型 与用户的文件类型不匹配 提供?
由于这些原因,Perforce只会 确定文件时的文件类型 添加,并采取“类型图”和 命令参数“-t”进入 帐户。
另一方面,你可以预防 你的情况再次发生 采用“改变内容”触发器。 此触发器将检查内容 的文件,并将其与 指定的文件类型,拒绝任何 提交会造成不匹配。