Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to firstname.lastname@example.org.
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 126.96.36.199. 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