我有一个正在检查Perforce代码的构建,但当我尝试设置" VCS结帐模式"到服务器端,我知道它会为构建代理程序提供工作区(和代码)的副本。好吧,我发现它破坏了我们构建中与文本文件类似的一些文件。它正在将它们从UNICODE BOM更改为UTF-8,我们用于解析这些文件的工具在构建中失败。
有没有人知道为什么TeamCity服务器端检出和复制会这样做?有谁知道如何纠正这种情况?谢谢!
答案 0 :(得分:1)
感谢您的帮助,我发现有问题的文件类型为utf16,并且Team City VCS Root配置中实际上有一个选项可以启用utf16文件的处理(支持UTF-16编码)。这似乎解决了这个问题。
答案 1 :(得分:0)
你说blob只发生在TeamCity上。你能重新检查它在本地的表现吗?从文件系统中删除该文件并运行p4 sync -f FILE
以从服务器获取新文件。是否保留了BOM?
如果您可以在本地重现BOM的丢失,那么您可能应该更改文件的文件类型(在P4V中,右键单击|更改文件类型|基本文件类型= Unicode或UTF-16)。