On Thu, May 2, 2013 at 2:01 PM, Tommaso Cucinotta <tomm...@lyx.org> wrote: > As an immediate concern, adding to Pavel's ones, I have to say that I'm not > so sure that merging different edits on the .lyx file level, very much like a > version control system would do in presence of concurrent commits, would > actually be guaranteed to produce a consistent/legal .lyx file.
You need a representation that makes merging feasible. A typical 3-way diff/merge like, say, git uses, cannot produce legal C, XML, ... by itself. It is possible to build 3-way diff/merge that can produce valid merged output for specific syntaxes. In particular it should be possible for XML and other nested/parse-tree-like formats. I believe there are some non-free, proprietary XML 3-way diff/merge tools that don't suck, but they are non-free and I've not tried them. If this is the tack you want to follow for collaborative distributed LyX editing then I think it'd be best to write a 3-way diff/merge for .lyx or some representation of it. A 3-way diff/merge for XML would also be useful in this respect, though it'd bring in more bloat, but it'd also be incredibly useful in general. Nico --