> From: Moshe Levy [mailto:[EMAIL PROTECTED]]
>
> can cvs be "trusted" in preforming marges ? am i doing
> something wrong ?
Yes CVS can be trusted and no you are not doing anything wrong.
I maintain a large source tree with many branches using CVS. It currently
has, not including binary files, somewhere around 10K files, over 300K LOC
and generally has between 6-12 active project branches and 2-3 active
release branches at any given point in time. Obviously, I do a fair amount
of merging.
While our developers occasionally try to blame their bugs on "the merge" it
almost always ends up being a simple mistake on their part or lack of proper
communication between developers. (I take those claims as a personal
challenge :)
One not-so-obvious thing that can cause a merge to remove entire files
mysteriously is if the tags which you are specifying to the -j args of
update are not tagging the same module or set of files. I always use tags
which were created via an rtag when merging so I'm forced to use a module.
I was very confused the other day when a merge was removing files that were
not removed on the branch! It was happening because the merge point tag I
used on the branch was created via a 'cvs tag' in a working folder that had
deleted but not removed some files. Those files were not on the tag and
appeared to be removed from the perspective of the merge command.
I highly recommend spending a few days reading and understanding the
Cederqvist manual (which comes with CVS) and the Fogel book:
http://cvsbook.red-bean.com/ especially the merging parts.
Luck,
ksb