By default, CVS performs keyword expansion unless you tell it to stop. You can permanently suppress keyword expansion for a file with the -k option when you add the file to the project, or you can turn it off later by invoking admin with -k. The -k option offers several different modes of keyword control; usually you want mode o or b, for example:
floss$ cvs add -ko chapter-9.sgml
This command added chapter-9.sgml to the project with keyword
expansion turned off. It sets the file's default keyword expansion mode
o, which means no substitution. (Actually, the "o" stands for
"old", meaning to substitute the string with its old value, which is the
same as substituting it for itself, resulting in no change. I'm sure
this logic made sense to somebody at the time.)
Each file's default keyword mode is stored in the repository. However, each working copy can also have its own local keyword substitution mode – accomplished with the -k options to checkout or update. You can also have a mode in effect for the duration of just one command, with the -k option to diff.
Here are all the possible modes, presented with the -k option prepended (as one would type at a command line). Any of these options can be used as either the default or local keyword substitution mode for a file:
$Revision: 1.5 $
would both "expand" (okay, contract) to:
Of course, after that's happened once, future substitutions will not take place, so this option should be used with care.