Profile picture
Lindsey Kuper @lindsey
, 7 tweets, 2 min read Read on Twitter
Just went on a tirade at a poor unsuspecting student, so now you get it, too!

So, the student was asking whether it's impossible to have a version control system that always automatically resolves merge conflicts, saying that he suspected it was.
The collaborative text editing problem boils down to how to merge conflicting strings. Here's one deterministic merge function: given the two strings, always return the empty string!
This is a terrible idea, but it "works", in the sense that you could implement a CRDT based on this merge function (i.e., the empty string is the top element of the lattice, with every other string one step down from it in the lattice). All replicas would indeed converge!
Or how about last-writer-wins, where "last" means causally last? You could take the causal order, extend it to an total order using a standard approach, and use that to arbitrarily pick a winner out of two concurrent updates. This would also be a deterministic merge.
So the real question is not whether it's possible to automatically and deterministically resolve string merge conflicts (because it is), but rather, how does one do it while having certain desirable properties be true of the result?
What those desirable properties are is an interesting question, and the answer probably depends a lot on the application. Maybe a version control system *could* preserve them. Would you want to use a very domain-specific VCS?
I'm not sure I would. But it's fun to think about!

Anyway, collaborative text editing is interesting. Here's a recent paper I like: dl.acm.org/citation.cfm?i…
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Lindsey Kuper
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!