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
[email protected]
http://www.oxygenxml.com/mailman/listinfo/oxygen-user
_______________________________________________
oXygen-user mailing list
[email protected]
http://www.oxygenxml.com/mailman/listinfo/oxygen-user