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 sales@march-hare.com.
Andreas Krey wrote: > It is completely irrelevant whether they store them as diffs, as full > text each, as lists of pointers to shared common lines or whatever. > That is a detail of the rcs file format that is (supposedly) underlying > cvs and cvsnt. It's the whole point of this discussion in fact. What the end user sees is only important in that it must be correct. > Of course I could. As long as the SCM is able to retrieve any revision > of a file I can simply run diff to recreate the differences. But anyway > the merge is not working by applying the individual diffs but rather by > one diff3 run. Using diffs in the rcs file was just to keep the files small. Not true. Merging works by taking the difference between the common revision (branchpoint or mergepoint) and the latest revision on the branch. That diff is then applied to the target branch. Only 1 diff and 1 revision are used in that process. Normally diff3 is not used, unless the client copy has changed, in which case it's used to more intelligently handle the conflict cases. If you get the wrong common revision as you want to do you *lose* all the changes made before that revision as they are not already in the target branch. Tony