Author: matt
Description:
I'd love it if, while I'm editing a particular page, and someone else commits
their change to the same page before I do, some of the merging of the pages was
automated, like when [[CVS]] or [[SVN]] merges changes two different people make
to the same file during the same time period. I imagine that the interface
would present two different diffs: a diff between the version you began editing
versus the current version, then a diff between the current version versus the
merger of the current version and your edited version; the text-area would
contain the merged text. Differences which could not be automatically merged
would be marked with something like:
blah blah <MERGE-CONFLICT>blah blah===blah blah</MERGE-CONFLICT> blah
And MediaWiki would refuse to accept submits of pages which contained
<MERGE-CONFLICT>. When the two concurrent edits resulted in no conflicts, the
page would have a message like "Someone else commited an edit while you were
making your changes; please ensure that the automated merger of your two edits
is acceptable". If there was a conflict in the merger, there'd be a big,
blaring warning like "WARNING: Someone else commited an edit while you were
making your changes, resulting in a CONFLICT. You must manually remove those
conflicts".
It should be easy to merge differences when two different sections were edited,
and not too much harder when two different paragraphs in the same section were
edited (this assumes that neither of the two concurrent edits rearranged
sections or paragraphs). For changes to different sentences within the same
paragaph, it's probably possible to do an automatic merge, but probably not
advisable; however, we'd still want an algorithm to shrink the set of contiguous
sentences or words forming the <MERGE-CONFLICT> to the smallest acceptable length.
The merger of the rearrangement or sections or paragraphs is probably something
we'd probably have to leave as an entirely manual process.
Version: unspecified
Severity: enhancement
See Also: T6745