【发布时间】:2009-09-01 04:58:11
【问题描述】:
我们有大量不同平台的程序员都在使用 CVS。
我们有开发人员使用带有 TortoiseCVS(使用 cvsNT)的 windows
我们有开发人员使用 ubuntu 8.04
我们的开发人员拥有两个盒子 Ubuntu 和 windows。
不同的开发人员在不同的平台上使用各种不同的编辑器。
而且我们在行尾方面遇到了很大的问题。这表现为文件中行尾数的持续增长。
现在据我了解,TortoiseCVS 使用 cvsNT,它假定存储库中的 UNIX 行结尾。当您签出时,它将 UNIX 行结尾转换为 windows 行结尾,当您提交时,它将 windows 行结尾转换回 UNIX 行结尾。
在 ubuntu 中,cvs 客户端不进行任何转换,因为存储库应该是 UNIX 行结尾,而 linux 也使用 UNIX 行结尾。
只要 Windows 上的每个人都使用基于 cvsNT 的客户端,这一切都可以正常工作。而且没有人切换他们的操作系统。
遗憾的是,使用 Ubuntu 和 Windows 机器的人经常切换并可能在不同的操作系统上签出、编辑或提交。
因此,他们最终使用具有 windows 行结尾的 linux CVS 客户端提交了一个文件。
当在 windows 上使用 cvsNT 客户端检查时,CRLF 被转换为显示为两行的 CRCRLF。这种情况发生的次数越多,文件中出现的新行就越多。
有没有办法让 Linux 上的 CVS 在提交时将任何 Windows 行尾转换为 UNIX 行尾,以防止这种情况发生。这样 CVS 服务器将只有 UNIX 行结尾。
也欢迎任何其他解决此问题的方法的建议。
【问题讨论】:
标签: linux formatting cvs