Cristian
2009-11-04 19:15:39 UTC
I have been using CVS for quite a while and started doing merges back
about 4 years ago. Since, I have not run into any problems, till now
that is. I would appreciate any help on this.
Env: I am running CVS client and server 1.11.22 on Linux 2.6 Kernel.
I have run into this issue when merging from one branch onto another.
A file had been removed on branch B1 and modified on branch B2 with a
couple of revisions (irrelevant perhaps, we were doing some
refactoring).
Branch B2 is my target branch - so I am merging B1 into B2.
I have merged using two join commands so the common ancestor has been
passed to cvs as the first -j. To my surprise, the file got removed
from B2 branch by the merge, and was not flagged as a conflict - which
I would have thought should happen in this scenario.
# checked out B2
cvs -q up -dP -jB1_ROOT -jB1 -kk
Where B1_ROOT is rev 1.6 and B1 branch has been created off of
B1_ROOT. I have 1.6.36.1 on B1 which is marked as 'dead' and 1.6.8.2
in B2 -- we had two revisions on branch B2 since B1 was created at 1.6
(B1_ROOT).
When I noticed this, I have also tried using one -j essentially
passing the branch name which also corresponds to the latest revision
on the B2 branch. At the same time, in this particular case it would
have also been alright I believe to use only 1 -j since it was the
first merge from B1 to B2 so I would not have to worrry about merge
history and the like.
cvs -q up -dP -jB1 -kk
There is a message been spit out by CVS 'file XX has been modified,
but has been removed in revision B1 but the file is not been marked as
a conflict, its status is 'up-to-date'. I am not sure what to do in
the future about this because sometimes I do need to merge more than
one time from a branch, in which case I would need to use two -j and I
would run into the same issue.
Thanks,
Cristian
about 4 years ago. Since, I have not run into any problems, till now
that is. I would appreciate any help on this.
Env: I am running CVS client and server 1.11.22 on Linux 2.6 Kernel.
I have run into this issue when merging from one branch onto another.
A file had been removed on branch B1 and modified on branch B2 with a
couple of revisions (irrelevant perhaps, we were doing some
refactoring).
Branch B2 is my target branch - so I am merging B1 into B2.
I have merged using two join commands so the common ancestor has been
passed to cvs as the first -j. To my surprise, the file got removed
from B2 branch by the merge, and was not flagged as a conflict - which
I would have thought should happen in this scenario.
# checked out B2
cvs -q up -dP -jB1_ROOT -jB1 -kk
Where B1_ROOT is rev 1.6 and B1 branch has been created off of
B1_ROOT. I have 1.6.36.1 on B1 which is marked as 'dead' and 1.6.8.2
in B2 -- we had two revisions on branch B2 since B1 was created at 1.6
(B1_ROOT).
When I noticed this, I have also tried using one -j essentially
passing the branch name which also corresponds to the latest revision
on the B2 branch. At the same time, in this particular case it would
have also been alright I believe to use only 1 -j since it was the
first merge from B1 to B2 so I would not have to worrry about merge
history and the like.
cvs -q up -dP -jB1 -kk
There is a message been spit out by CVS 'file XX has been modified,
but has been removed in revision B1 but the file is not been marked as
a conflict, its status is 'up-to-date'. I am not sure what to do in
the future about this because sometimes I do need to merge more than
one time from a branch, in which case I would need to use two -j and I
would run into the same issue.
Thanks,
Cristian