Today at work we swapped from using CVSNT on a Windows server machine to using CVS for linux on a QNAP NAS storage box. All appeared to be working fine until I checked out a file that was committed as a binary file. I quickly realised that half of the repository was corrupt (i.e. all binary files). After a little bit of research it was clear that CVSNT and CVS for linux are not directly compatible any more as they store the fact that a file is binary in a different format.
In each repository file there are entries that specify file formats, cvs comments, versions, etc. In amongst these is a flag that specifies the file type.
A file specified as binary in CVSNT has a line reading (where the space is actually a tab):
A file specified as binary in CVS has a line reading (where the space is actually a tab):