我使用 CentOS Linux 5.8 作为 Web 服务器,并使用 tortoise SVN 同步代码版本。我们使用 NetBeans 和 NotePad++ 在 Windows 7 专业版 64 位中编写代码。
.php
我正在使用以下命令从 Linux Shell提交代码文件( ):
svn co svnFolder serverFolder --username **** --password ****
问题是,提交文件后,当我通过 NotePad++(我正在从 Filezilla 执行查看/编辑)直接从服务器打开它们(进行调试)时,我有多余的空白行。
在本地主机上看起来像这样的代码(在 NotePad++ 上):
private $producer;
private $account;
private $admin;
private $producerEvents;
private $accountProducers;
private $adminAccounts;
提交到服务器后将如下所示(再次在 NotePad++ 上):
private $producer;
private $account;
private $admin;
private $producerEvents;
private $accountProducers;
private $adminAccounts;
如果我通过 FTP 上传文件,则不会添加空行。
我该如何解决?谢谢。
答案1
您正在从 Windows 系统提交带有 CRLF 结尾的文件 - 这通常不会引起任何问题,但在 Linux 系统上则有点“不正常”。文本编辑器通常不会显示这样的双倍空格 - 我怀疑这是因为通过 Filezilla 的访问方法。
由于您的文件被具有两种行尾类型的系统访问,因此最好的方法是让 SVN 强制执行行尾样式。
使用 TortoiseSVN 的属性编辑器对您正在处理的文件(或在递归模式下对目录)添加属性svn:eol-style
。
LF
如果您希望在任何地方都使用 Linux 风格的结尾,请将其设置为LF
(Notepad++ 可以很好地处理此操作,但如果您使用 notepad.exe 之类的程序打开文件,它会认为它是一行),- 或将其设置为
native
,这将导致每个系统上的签出副本具有其原生的行尾样式。
该属性是在单个文件上设置的,因此请确保将该属性添加到在设置该属性后创建的任何新文件中。