我们主要在Windows环境下开发我们的PHP应用程序,并在PC/ANSI中存储我们的文本源文件。什么编码用于跨平台开发(PC,Macs,Linux)?
但是现在,一位开发人员加入我们,他们使用Mac平台,我们遇到了在他的机器上创建“补丁”的问题。当他进行任何更改和作用:
svn diff > patchfile.patch
他生成补丁文件,指示该源代码文件的每一条线路已被修改(这显然原位缺口的情况下)。
我想保存测试ANSI文件:
PC/UTF-8 (using UTFCast Express which I writes the BOM by default)
PC/UTF-8 (using Notepad++ "Encoding > Convert to UTF-8" - which writes the BOM)
除了:
PC/UTF-8 (using Notepad++ "Encoding > Convert to UTF-8 without BOM")
PC/UTF-8 (using Notepad++ "Encoding > Encode in UTF-8 without BOM")
对于所有这些情况,每当他做的改变,并做一个SVN差异>补丁文件。补丁,它会输出所有行,就好像所有的行都被改变了一样!
[我们试图做“SVN差异-x -p> patchfile.patch”在过去的3,以及 - 没有区别]
顺便提及,在最后两个选项生成的文件继续显示为ANSI在我的PC机器上。两者似乎根本没有修改该文件,并且在DOS提示符下执行'fc'(文件比较)没有发现任何区别。
我应该使用哪种编码进行跨平台开发?
hi davmac - 是在SVN客户端还是在服务器上设置的?我如何设置它为整个SVN存储库使用'本机'编码的一切? – siliconpi
您在客户端设置属性,然后将其提交到存储库。请参阅http://subversion.apache.org/faq.html#auto-props和http://svnbook.red-bean.com/en/1.6/svn.advanced.props。html(尤其是在“自动属性设置”下) – davmac