Couple of things I’d like to bring up, though I think this conversation is going in the right place:
- The approach @mmassi proposed reminds me of DAT’s multiwriter proposal: DEP-0008: Multi-Writer - Dat Protocol
- I wonder what is the advantage of merging at all? What if we never merge histories and simply display them at the application layer in a certain order? This would mean that the order can change if new comments are discovered, and it’s possible to “fill-in” holes in the timeline after-the-fact, as the state converges. The way this could work would be similar to patch-based DVCSs, which apply patches in an order “on-the-fly”.
- We would eventually like to support threaded discussions (like reddit) – it may actually be easier to model things as a tree, when it comes to comments, since it doesn’t require a total order. Just something to think about, as there may be a nice synergy between the product and underlying data-structure here.