We have an experimental implementation of journal merging. We should develop this with real workflows in mind including cases with dozens of versions.
The journal is a list of edits that made a page. You can go back in history by clicking on any journal action. This opens an additional page with the text arranged as it would have been with that revision.
We merge changes by dragging the journal from one page and dropping it on another. This makes a third page (a ghost page that hasn't been saved anywhere yet) that includes all the edits from both journals.
# Details
This capability was developed on the work day at the Indie Web Camp 2014 in Portland, Oregon. github
We can tell where the history of pages with common ancestry diverge. We make one copy of the common stuff and then pile the rest on top of each other.
We can merge pages that don't have a common ancestry. Our attitude is try it, see if you like it.
We don't save your experiments unless you like them. We will support a fork-from-merge that works like fork-from-history. We won't turn on this other version of fork until we know that we can live with what it makes. That's why we call it experimental.
I wish I could turn this on yesterday. We've inched into this capability slowly and still created heartbreak with tiny mistakes along the way. Every day I ask myself, what can I do to the code today to let us work faster tomorrow. Kate's story reminds me that there is joy ahead. Thank you for your patience.