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

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

我使用 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,这将导致每个系统上的签出副本具有其原生的行尾样式。

该属性是在单个文件上设置的,因此请确保将该属性添加到在设置该属性后创建的任何新文件中。

相关内容