为了符合Mercurial对二进制文件的视图,它实际上并不跟踪文件类型,这意味着用户无法将文件标记为二进制文件或非二进制文件。
正如tonfa和Rudi所述,Mercurial通过查看文件中是否存在NUL字节来确定文件是否为二进制文件。对于UTF- [16 |
32]文件,几乎可以保证NUL字节。
要“修复”此问题,必须确保文件使用UTF-8而不是UTF-16编码。理想情况下,导出时,数据库应具有Unipre编码的设置。如果不是这种情况,另一种选择是编写一个预提交钩子来执行此操作(请参见如何在Python中将文件转换为UTF-8作为开始),但是您必须非常小心要转换的文件。



