从SVN提交时,不需要的空白行

我使用CentOS Linux 5.8作为Web服务器,使用SVN来同步版本的代码。 我们使用NetBeans和NotePad ++在Windows 7 Professional 64BIT中编写代码。

我正在通过这个命令从Linux Shell提交代码文件( .php ):

 svn co svnFolder serverFolder --username **** --password **** 

问题是,提交文件后,当我直接从服务器打开它们(用于debugging)的NotePad ++(我正在从Filezilla查看/编辑)我有额外的空白行。

在localhost(OnPadPad ++)上看起来像这样的代码:

 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上传文件,没有空行被添加。

我该如何解决? 谢谢。

您从Windows系统提交CRLF结尾的文件 – 这通常不会造成任何问题,但是在您的Linux系统上有点“exception”。 文本编辑器不会正常显示这样的双重空间 – 我怀疑这是因为通过Filezilla的访问方法。

由于您的文件正在被具有两种行结束types的系统访问,所以最好的方法是让SVN强制行终止样式。

使用TortoiseSVN的属性编辑器来处理您正在处理的文件(或以recursion模式,在一个目录中)。 添加svn:eol-style属性。

  • 如果你想要在任何地方都可以使用Linux风格的LF结尾(Notepad ++可以正常工作,但是如果你用notepad.exe打开这个文件,它会认为它全部是一行),那么将它设置为LF
  • 或将其设置native ,这将导致每个系统上的检出副本具有其本地行结束样式。

该属性设置为单个文件,因此请确保将该属性添加到在将属性置于适当位置后创build的任何新文件。