[cvsnt] Mergepoint issues on 2.5.0.3 b2382

Gerhard Fiedler lists at connectionbrazil.com
Thu Jan 11 16:34:22 GMT 2007


Harrison, Andy wrote:

> Yes, I've waded through most of that thread and couldn't find the answer
> to the question:
> Which was the last version of CVSNT that supported this feature? It was
> taken out somewhere between 2.0.58d and 2.5.0.3. Nobody seems to be able
> to tell be when it was taken out.

The answer (as given in that thread) is "replace the back merge with the
appropriate copy command". AFAIR there are several methods described how to
implement this copy command. 

> Tony H at one point makes the assertion: 
> 
>> From cvs' point of view they are equivalent.. an alternative way of 
>> viewing a mergepoint is a point of equivalence in the tree - it's a 
>> point that you don't have to worry about earlier revisions so can 
>> simplify the merge.
> 
> I think this lies at the crux of the matter. If I may disagree with Tony
> on this point, this may be the way that mergepoints are intended, but
> this is not always the case. If this were true then we would not be
> having this conversation. If the mergepoint was always a point of
> equivalence, then you should be able to merge in any direction. 

I don't remember all of that thread, but mergepoints are not bidirectional.
And this is the problem. You want to use them bidirectionally. 

Basically, you want to merge back the difference on the branch (usually
start to end), minus the differences merged-in from the trunk -- but cvsnt
doesn't really have a good way to determine what is a difference merged-in
from the trunk, and what is a difference "native" to the branch. Especially
since a number of differences that happened during the merge-in process
will be conflict resolutions that are not in the originating trunk code.

> That is, only creating the mergepoint when there is a real point of
> equivalence.

There is (almost) never. Equivalence is the exception; usually it is
unidirectional. Normally the target code contains the merged-in code,
altered by any conflict resolutions, plus its own changes. The conflict
resolution alterations can be of any magnitude. 

Gerhard


More information about the cvsnt mailing list