У нас большое количество программистов на разных платформах, использующих CVS.
У нас есть разработчики, использующие Windows с TortoiseCVS (которая использует cvsNT)
У нас есть разработчики, использующие Ubuntu 8.04
У нас есть разработчики, у которых есть две коробки Ubuntu и Windows.
Широкий спектр различных редакторов используется разными разработчиками на разных платформах.
И у нас огромные проблемы с окончаниями строк. Что проявляется в непрерывном росте числа концов строк в файлах.
Теперь, насколько я понимаю, TortoiseCVS использует cvsNT, который предполагает окончание строк UNIX в хранилище. Когда вы извлекаете его, он преобразует конец строки UNIX в конец строки Windows, а когда вы его фиксируете, он преобразует конец строки Windows обратно в конец строки UNIX.
В Ubuntu клиенты cvs не выполняют преобразований, поскольку в репозитории должны быть окончания строк UNIX, а в linux также используются окончания строк UNIX.
Это все работает нормально, если все пользователи Windows используют клиент на базе cvsNT. И никто не переключает их ОС.
К сожалению, люди с коробками Ubuntu и Windows часто переключаются и могут извлекать, редактировать или фиксировать в разных операционных системах.
И в результате они заканчивают фиксацию файла, используя CVS-клиент linux с окончанием строки Windows.
Когда это проверяется с помощью клиента cvsNT в Windows, CRLF преобразуется в CRCRLF, который отображается в виде двух строк. Чем больше раз это происходит, тем больше новых строк появляется в файле.
Есть ли способ заставить CVS в linux преобразовывать любые окончания строк Windows в окончания строк UNIX при фиксации, чтобы этого не происходило. Таким образом, сервер CVS будет иметь только окончания строки UNIX.
Любые другие предложения о способах преодоления этого также приветствуются.