5.10 Merging and keywordsIf you merge files containing keywords (see section 12. Keyword substitution), you will normally get numerous conflicts during the merge, because the keywords are expanded differently in the revisions which you are merging. Therefore, you will often want to specify the `-kk' (see section 12.4 Substitution modes) switch to the merge command line. By substituting just the name of the keyword, not the expanded value of that keyword, this option ensures that the revisions which you are merging will be the same as each other, and avoid spurious conflicts. For example, suppose you have a file like this:
and your working directory is currently on the trunk (revision 1.2). Then you might get the following results from a merge:
What happened was that the merge tried to merge the
differences between 1.1 and 1.1.2.1 into your working
directory. So, since the keyword changed from
Here is what happens if you had used `-kk':
What is going on here is that revision 1.1 and 1.1.2.1
both expand as plain There is, however, one major caveat with using `-kk' on merges. Namely, it overrides whatever keyword expansion mode CVS would normally have used. In particular, this is a problem if the mode had been `-kb' for a binary file. Therefore, if your repository contains binary files, you will need to deal with the conflicts rather than using `-kk'.
This document was generated by Frank Budszuhn on 10/28/2004 using slightly modified texi2html |