Problem: Eclipse's CVS merge feature (despite all your efforts) keeps showing tons of pseudo-conflicts (red conflict symbol with a superimposed white plus or cross sign, whatever it might mean). Solution: don't use Eclipse (for merging). Instead, fall back on the good old command-line CVS client; it's not that difficult.
Change to your project directory and issue a command like:
cvs -q update -d \ -j "VERSION_2_2:2008-11-24" \ -j VERSION_2_2 &> /tmp/merge.log
Here VERSION_2_2 is your source branch, from which the merging should occur. The first -j also contains a start tag (or date).
Inspect merge.log for mentions of "warning" and "conflict". Inspect the reported files and merge manually around the standard CVS conflict markers, i.e. >>>>, ==== and <<<<). Finally, delete all files whose names match the pattern .#* (created by the CVS client to indicate which files were affected by merge).
There is one catch here - the extssh
access mode routinely used by Eclipse is not recognized by the command-line CVS client, so you will have to replace :extssh:
strings by :ext:
in all CVS/Root
files within your project and set the environment variable CVS_RSH=/usr/bin/ssh
to emulate Eclipse's behavior (after you're
done revert the replacements).
No comments:
Post a Comment