TeamCity VCS服务器端检出将文本文件从unicode更改为UTF-8

时间:2016-01-08 05:43:00

标签: unicode build teamcity perforce

我有一个正在检查Perforce代码的构建,但当我尝试设置" VCS结帐模式"到服务器端,我知道它会为构建代理程序提供工作区(和代码)的副本。好吧,我发现它破坏了我们构建中与文本文件类似的一些文件。它正在将它们从UNICODE BOM更改为UTF-8,我们用于解析这些文件的工具在构建中失败。

有没有人知道为什么TeamCity服务器端检出和复制会这样做?有谁知道如何纠正这种情况?谢谢!

2 个答案:

答案 0 :(得分:1)

感谢您的帮助,我发现有问题的文件类型为utf16,并且Team City VCS Root配置中实际上有一个选项可以启用utf16文件的处理(支持UTF-16编码)。这似乎解决了这个问题。

答案 1 :(得分:0)

你说blob只发生在TeamCity上。你能重新检查它在本地的表现吗?从文件系统中删除该文件并运行p4 sync -f FILE以从服务器获取新文件。是否保留了BOM?

如果您可以在本地重现BOM的丢失,那么您可能应该更改文件的文件类型(在P4V中,右键单击|更改文件类型|基本文件类型= Unicode或UTF-16)。