
Conceptual Overview | 799
CVS
This is the Title of the Book, eMatter Edition
Copyright © 2006 O’Reilly & Associates, Inc. All rights reserved.
CVS Wrappers
When resolving conflicts, the usual method CVS uses is MERGE, which means
that CVS puts both versions of the conflicting group of lines into the file,
surrounded by special markers. However, this method doesn’t work for binary
files. Thus, the second conflict-resolution method is COPY, which presents both
versions of the file to the user for manual resolution.
You can manually specify the conflict resolution method and keyword expansion
method when a file is added to a repository, as well as later, after the file is
already there. However, doing so manually for lots of files is painful and error-
prone. Wrappers allow you to specify the conflict resolution method and
keyword expansion method for groups of files, based on filename patterns. You
may do this on the command line or, more conveniently, by placing the wrappers
into a .cvswrappers file. Each line has the following format:
wildcard option 'value' [option 'value' …]
The wildcard is a shell-style wildcard pattern. If option is -m, it indicates the
conflict resolution method. In this case, value should be either MERGE or COPY.
If option is -k, then value is one of the keyword resolution modes (b, k, o, etc.).
Stickiness
When some aspect of the persistent state of a file in a sandbox is different ...