|
|
Subject: Bi-directional merge
From: pa@see.signature.invalid (Pierre Asselin)
Date: 11/18/2006 10:40:30 PM
calin.hanchevici@gmail.com wrote:
> [ ... ] Thank you Larry,
> how can avoid these kind of problems? 1.2.14.2 is identical with 1.2,
> but is not identical with 1.3.
When you merged 1.3 ==> branch, it didn't mean that your branch was
logically based on 1.3 . It was still branched off 1.2 . Thus,
when you merged the branch back to the trunk the comparison was
between 1.2 and 1.2.14.2, not 1.3 and 1.2.14.2 . No net changes
on the branch, no changes folded to the trunk.
> Does this mean that I have to correct the problem in revision 1.3,
> commit the changes then merge r1.4 into my branch?
This time, yes.
> Is there a way to avoid this?
By planting a movable tag at the origin of each point that you
merge. For example,
branch> cvs update -jbranchpoint -j1 : trunk to branch
branch> cvs tag -F -r1 LAST_MERGED
branch> cvs commit
Later,
trunk> cvs update -jLAST_MERGED -jbranchtip : branch to trunk
trunk> cvs tag -F -rbranchtip LAST_MERGED
trunk> cvs commit
Caveat: I *think* that works. I *know* that it gets very confusing,
very fast. I never got bidirectional merges between long-lived branches
to work right. I recommend keeping your branches short.
http://groups.google.com/group/gnu.cvs.help/msg/71c6c07bdc16ceb5
--
pa at panix dot com
_______________________________________________
info-cvs mailing list
info-cvs@nongnu.org
http://lists.nongnu.org/mailman/listinfo/info-cvs
|