Linux
從 SVN 送出時不需要的空行
我使用 CentOS Linux 5.8 作為 Web 伺服器和 tortoise SVN 來同步我們的程式碼版本。我們使用 NetBeans 和 NotePad++ 在 Windows 7 Professional 64BIT 中編寫程式碼。
我
.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 上傳文件,則不會添加空行。
我該如何解決?謝謝。
您正在從 Windows 系統送出以 CRLF 結尾的文件 - 這通常不會導致任何問題,但在您的 Linux 系統上它有點“異常”。文本編輯器不會像那樣正常顯示雙空格 - 我懷疑這是因為通過 Filezilla 的訪問方法。
由於具有兩種行尾類型的系統都在訪問您的文件,因此最好的方法是讓 SVN 強制執行行尾樣式。
使用 TortoiseSVN 的屬性編輯器來處理您正在使用的文件(或在遞歸模式下,在目錄上)。添加
svn:eol-style
屬性。
LF
如果您希望在任何地方都使用 Linux 風格的結尾,請將其設置為LF
(Notepad++ 可以正常工作,但如果您在 notepad.exe 之類的文件中打開文件,它會認為這是一行),- 或將其設置為
native
,這將導致每個系統上的簽出副本具有其本機行尾樣式。該屬性是在單個文件上設置的,因此請確保將該屬性添加到在放置該屬性後創建的任何新文件中。