Next: , Previous: My binary files are messed up, Up: Some Real Life Problems (With Solutions)

CVS is not doing line-end conversion correctly

If you're running the CVS client on a non-Unix platform and are not getting the line-end conventions that you want in some working copy files, it's usually because they were accidentally added with -kb when they shouldn't have been. This can be fixed in the repository with, believe it or not, the command:

     floss$ cvs admin -kkv FILE

The -kkv means to do normal keyword substitution and implies normal line-end conversions as well. (Internally, CVS is a bit confused about the difference between keyword substitution and line-end conversion. This confusion is reflected in the way the -k options can control both parameters.)

Unfortunately, that admin command only fixes the file in the repository – your working copy still thinks the file is binary. You can hand edit the CVS/Entries line for that file, removing the -kb, but that won't solve the problem for any other working copies out there.

Karl Fogel wrote this book. Buy a printed copy via his homepage at

copyright  ©  September 17 2019 sean dreilinger url: