CVS contains keywords that can be included in nonbinary project files. When CVS finds a keyword in a file it is checking out, it expands the keyword to provide metadata about the latest revision of the file. You can set keyword-expansion modes on a file to tell CVS whether (and how) to expand the keywords it finds.
Keyword-expansion modes also control line-ending conversion.
Unix, Macintosh, and Windows operating systems use different sets of
codes to signal the ends of lines. (GNU/Linux uses the same codes as
Unix.) When you commit a file from an operating system that doesn't
use Unix line endings, CVS converts the line endings to Unix style. If
you are storing binary files, this conversion can corrupt the file.
-kb keyword-expansion mode to tell CVS not to
convert line endings.
CVS keywords take the form:
All keywords except
expand to the format:
These are the keywords and the information they show about the file they are in:
The username of the user who committed the last revision.
The date on which the last revision was committed, in UTC.
A header containing information about the file, including the author, date and revision number, path and filename of the RCS file (project file in the repository), file status, and whether the file is locked.
A header like the one given by the
Header keyword, without the path of
the RCS file.
The username of the user who locked the file with
cvs admin ...