There was some discussion about Irmin just over a year ago [1] and it's been steadily improving ever since. The Readme on the repo [2] lists the bleeding-edge users too, so you can see examples of how it's been applied -- <i>(note to self: we should probably write an update about the progress to date).</i><p>[1] <a href="https://news.ycombinator.com/item?id=8053687" rel="nofollow">https://news.ycombinator.com/item?id=8053687</a><p>[2] <a href="https://github.com/mirage/irmin/blob/master/README.md#use-cases" rel="nofollow">https://github.com/mirage/irmin/blob/master/README.md#use-ca...</a>
If anyone wants to see a talk about this with a few demos of various use-cases (such as the JavaScript transpilation backend, and log servers), I gave a talk at QCon NYC that just went live on InfoQ yesterday: <a href="http://www.infoq.com/presentations/irmin" rel="nofollow">http://www.infoq.com/presentations/irmin</a>
The Github repo[1] says "This repository is currently offline". I've never seen this message on github before, I'm not really sure what it means. Github then refers me to the "working when Github goes down" article, but Github hasn't really <i>gone down</i>.. I can access every other repo I try to access. Just not this one.<p>[1] <a href="https://github.com/mirage/irmin" rel="nofollow">https://github.com/mirage/irmin</a>
From your description I'm not quite sure where in the stack Irmin belongs? Is this to be used by web application developers? I assume note, as this looks like it is targeting more OS level development work?<p>Pretty cool stuff. I am also working on a distributed database, <a href="https://github.com/amark/gun" rel="nofollow">https://github.com/amark/gun</a> , that operates at the high level (web/javascript) rather than the low level. Although it looks like Irmin can be used in the browser? <a href="https://github.com/talex5/irmin-js" rel="nofollow">https://github.com/talex5/irmin-js</a> ? Would love to hear some clarification.
Nice, but there is a fundamental problem with the three-way merge: the guarantees about the result are very weak, and it may require special attention to resolve merge conflicts.