I cannot believe I have not (really) noticed this earlier, but the current git/svn revision controls are based on simple line differences, without taking into account the actual editing operations which we actually did in SIGGRAPH 2011 for image editing.
As a very simple example, say a file contains an original line like this:
I love you. Do you love me?
User 1 breaks the line into two:
I love you.
Do you love me?
User 2 adds one word the line:
I love you. Do you love me too?
A revision control tool that considers editing operations can automatically merge the two edits:
I love you.
Do you love me too?
While the current svn/git tools, based on line differences, will simply give up and ask users for manual intervention.
On that topic you might be interested in reading about CRDT:
https://github.com/ipfs/research-CRDT
Comment by jdumas — September 9, 2017 @ 5:58 am |