Windows Clients

There are two graphical CVS clients available specifically for Windows. One is WinCVS, which is described in Section A.1 of this chapter. The other is TortoiseCVS, which modifies the way Windows Explorer presents files.

Following are some issues you might encounter when using CVS from Windows. These issues apply equally to WinCVS and TortoiseCVS.

Line endings differ between Windows and Unix

CVS automatically attempts to convert the line endings of text files to Unix format. This is helpful in text files, but it causes problems in binary files that are committed accidentally as text files. When a binary file is corrupted because CVS tried to “fix” the line endings, often you can recover with the following procedure:

  1. Back up the current sandbox copy of the file.

  2. Update the file with cvs update to bring the repository version into the sandbox and reconvert the line endings.

  3. Check the file to ensure that it is no longer corrupt. If it is still corrupt, roll back to the most recent uncorrupted version (hopefully, the backup).

  4. Use cvs admin -kb filename to convert the default keyword-expansion mode of the file to binary.

  5. Recommit the file to the repository with cvs commit -f.

SSH may attempt to convert line endings

Because CVS performs its own line-ending conversion, you cannot use an SSH client that converts line endings as the client for CVS.

Filename capitalization matters under Unix

In Unix operating systems, file capitalization matters. NoSuchFile and nosuchfile are ...

Get Essential CVS now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.