我們有大量程序員在不同的平臺上使用CVS。CVS行結尾
我們必須利用窗戶的TortoiseCVS開發商(使用CVSNT)
我們使用Ubuntu 8.04
我們誰擁有兩盒Ubuntu和Windows開發人員有開發商。
不同平臺上的不同開發人員使用各種不同的編輯器。
而且我們遇到了行結尾的巨大問題。這表現爲文件中行結尾數量的持續增長。
現在據我所知,TortoiseCVS使用cvsNT,它假定存儲庫中的UNIX行結束符。當你檢出它時,將UNIX行結尾轉換爲Windows行尾,當你提交它時,將Windows行結尾轉換回UNIX行結尾。
在Ubuntu中,CVS客戶端不做任何轉換,因爲存儲庫應該是UNIX行尾,而且Linux也使用UNIX行結尾。
這一切都正常工作,只要在windows上使用基於cvsNT的客戶端。沒有人切換他們的操作系統。
不幸的是,Ubuntu和Windows系統的用戶經常切換,並可能在不同的操作系統上籤出,編輯或提交。
因此,他們最終使用具有窗口行結尾的linux CVS客戶端提交文件。
當在窗口上使用cvsNT客戶端檢出此項時,CRLF將轉換爲顯示爲兩行的CRCRLF。這種情況發生的次數越多,文件中出現的新行越多。
有沒有辦法讓Linux上的CVS將任何Windows行結束符轉換爲UNIX行結尾,以防止這種情況發生。這樣CVS服務器將只有UNIX行結束符。
也歡迎任何其他解決方法的建議。
我發現的具體CVSNT選項尤其難以發現,所以在這裏它是:http://evscm.org/manual/html/Substitution-modes.html。 – Leo 2014-04-30 21:23:39