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