I l@ve RuBoard Previous Section Next Section

Hack 31 CVS: Merging Files

figs/moderate.giffigs/hack31.gif

Resolving update conflicts in CVS

If CVS can't merge a modified file successfully with the copy in the repository, it announces the conflict in the output of cvs update. The original file is stored in .#file.version in the file's working directory, and the results of the merge are stored as the original filename:

cvs/example$ cvs update
jenn@cvs.example.com.au's password: 
cvs server: Updating .
RCS file: /home/cvs/example/sample.c,v
retrieving revision 1.3
retrieving revision 1.4
Merging differences between 1.3 and 1.4 into sample.c 
rcsmerge: warning: conflicts during merge
cvs server: conflicts found in sample.c 
C sample.c

CVS writes the merge with the conflicting lines surrounded by CVS tags. CVS can't automatically merge conflicts where the same line is changed in both versions of a file:

<<<<<<< sample.c 
Deliberately creating a conflict.
=======
Let's make a conflict.
>>>>>>> 1.4
    I l@ve RuBoard Previous Section Next Section