
Hello, The XML Diff/Merge tool that comes with Oxygen looks pretty nice. However there doesn't seem to be provision for a 3-way merge (using a common ancestor). This kind of merge is a common requirement when a repository of XML documents is continually modified by a distributed team or company; users need to keep merging others' changes to documents with their own changes before committing modified documents to the repository. This would tie in well with the Synchro SVN client, which allows you to perform merges in exactly this situation, but apparently without the benefit of common-ancestor-awareness (?), or at least without XML-awareness and common-ancestor-awareness at the same time. Are there any plans to incorporate 3-way (common ancestor) merge into Oxygen Diff/Merge tool? Regards, Lars

Hi Lars, Thanks for bringing up this issue. Syncro SVN Client has 3way diff and merge support but provides that only as text, that is no 3way XML diff support. Now a little technical details. When you have variant A, B and a common ancestor C a 3 way diff compares both A and B against the common ancestor. Then it compares the result of these two diff operations to decide if a change is incoming, outgoing or a conflict. What we get now from the diff is a set of mappings from one file to the other. Let's take a simple case, a single change between A and C, an addition and let's consider we have no changes between B and C. So what we know is that something was added and we know the offset in C where that was added. What we need to find is the offset in B. The problem with XML is that in B that offset may be different, because although there are no changes between B and C they can be represented in a different form, see <a test="1"/> versus <a test="1" /> In case of line based diff for instance the above problem is easily solved as one can just count the lines in B and C to determine the corresponding offset. End technical details. We plan to add 3way diff and merge XML aware support in oXygen in the future, we know, as explained above, the problem and we have thought of already of a couple of possible solutions. This is not scheduled however for the very next release. Best Regards, George --------------------------------------------------------------------- George Cristian Bina - http://aboutxml.blogspot.com/ <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com lars wrote:
Hello, The XML Diff/Merge tool that comes with Oxygen looks pretty nice. However there doesn't seem to be provision for a 3-way merge (using a common ancestor).
This kind of merge is a common requirement when a repository of XML documents is continually modified by a distributed team or company; users need to keep merging others' changes to documents with their own changes before committing modified documents to the repository. This would tie in well with the Synchro SVN client, which allows you to perform merges in exactly this situation, but apparently without the benefit of common-ancestor-awareness (?), or at least without XML-awareness and common-ancestor-awareness at the same time.
Are there any plans to incorporate 3-way (common ancestor) merge into Oxygen Diff/Merge tool?
Regards, Lars
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com http://www.oxygenxml.com/mailman/listinfo/oxygen-user
participants (2)
-
George Cristian Bina
-
lars