Support_CVS_and_binary_files
A CVS repository is set up on cml.uni-bamberg.de. The following describes how to deal with binary files.
When your file is already located in the repository you can use:
The Story
CVS does not recognize binary files by default. Yet, CVS modifies files added to the repository. The following modifications are done:- keyword expansion, e.g. expanding $Id:$ to $Id: readme.txt,v 1.4 2004/05/27 10:51:47 oemigldap Exp $
- line end conversions, CR LF on Windows to only LF on Unix.
What to do?
Keyword expansion and line end conversion need to be switched off for binary files. This is done by using the -kb option when adding files to the repository:$>cvs add -kb filename
When your file is already located in the repository you can use:
$>cvs admin -kb filename
How to find out, if it has been set for a particular file?
- Use the cvs status command:
$> cvs status -v binaryfile.gif
=================================================================== File: counterfeitsquare.gif Status: Up-to-date Working revision: 1.1.1.1 Repository revision: 1.1.1.1 /usr/local/cvsroot/binarytest/binaryfile.gif,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: -kb Existing Tags: start (revision: 1.1.1.1) beckmann (branch: 1.1.1)
- You can also inspect the Entries file within your CVS directories. There you should find the STICKY OPTION -kb as well:
$> cvs Entries
/binaryfile.gif/1.1.1.1/Mon Jul 26 08:15:21 2004/-kb/ /notmarkedasbinary.gif/1.1/Mon Jul 26 08:30:45 2004// /readme.txt/1.1.1.1/Mon Jul 26 08:15:21 2004//