3

当您将文件添加到 Perforce 时,它​​会尝试确定文件的类型(文本、二进制、utf16 等)。它在这方面做得很好,但显然在最初提交给版本控制后不再检查文件类型。一位同事最近对将其转换为 Unicode (utf16) 的文本文件进行了更改。Perforce 无法识别这一点,仍然认为它是text类型,因此当其他人检索该文件时,它已损坏。

我们通过重新提交文件并将文件类型显式更改为utf16来解决问题,但如果这会自动发生,我们会更喜欢。有一些方法可以强制它始终使用某种编码类型,但我不知道我是否喜欢这个想法。有没有人处理过这个问题并找到了解决方案?

4

1 回答 1

5

Perforce 技术支持有这样的说法:

当您提交编辑时,Perforce 不会检查文件的内容。

检查每个文件编辑的内容可能非常昂贵。“text”和“utf16”不是唯一需要注意的文件类型,例如,文件可能会将类型从“text”更改为“binary”。

另一个问题是有时用户想要覆盖 Perforce 识别文件的默认行为。如果实际文件类型与用户提供的文件类型不匹配,服务器在这种情况下应该如何反应?

由于这些原因,Perforce 只会在添加文件时确定文件类型,并考虑“typemap”和命令参数“-t”。

另一方面,您可以通过使用“更改内容”触发器来防止您的情况再次发生。此触发器将检查文件的内容并将其与指定的文件类型进行比较,拒绝任何创建不匹配的提交。

于 2008-11-05T18:36:21.997 回答