On Mon, Aug 2, 2010 at 7:10 PM, thyrsus <[email protected]> wrote: > The "Recovered Nodes" give me hope that a humanly useful > representation of changes is possible. I need to study that code. > The result is so much better than opaque XML operations.
I think that's just for the clone stuff? To survive bzr merges, .leo file would need a more merge-tolerant .leo file notation. One improvement could be this: Instead of <t tx="ekr.20070610063538.164">*...@nocolor http://sourceforge.net/forum/message.php?msg_id=4309448 Still to do: update urls for tigris.*</t> Have this: <t tx="ekr.20070610063538.164"> *...@nocolor http://sourceforge.net/forum/message.php?msg_id=4309448 Still to do: update urls for tigris.* **</t> (yes, extra newlines needed) There should probably be extra newline between tnodes to make it easier for merge tools. vnode section of the .leo file would need more significant work. I STILL think the headstring should be in the tnode section. It has been mentioned many times that it indeed is there (in the in-memory representation), but on-disk representation in .leo file it is still like this: <v t="ekr.20040804164600.98"><vh>Fixed some bugs in g.importFromPath</vh></v> What's now in <vh> should be in <t *h=*"Fixed some bugs in g.importFromPath" tx=gnx1> This would, again, merge better. For vnode hierarchy, finding the represenation would need some trial and error. Transient vnode ids could do the trick, so that tree structure could be represented in "flat" fashion: <v id=1 parent=3 childindex=1 t=gnx1> <v id=2 parent=3 childindex=0 t=gnx2> <v id=3 t=gnx3> The interesting thing here is that vnodes - have transient id, that is forgotten after the tree has been created - are ordered by gnx. This ensures that vnodes don't move around in the .leo file even when tree is manipulated. VCS merges are good at changing lines, but very bad when lines move around. OTOH, this might be akin to open-heart surgery with questionable gains. Real practice would show whether it would make .leo files okay for collaborative editing. All that <global> stuff needs to be moved away from leo file, for good: *<?xml version="1.0" encoding="utf-8"?>* *bals body_outline_ratio="0.5" body_secondary_ratio="0.5">* * <global_window_position top="50" left="50" height="500" width="700"/>* * <global_log_window_position top="0" left="0" height="0" width="0"/> * *</globals>* -- Ville M. Vainio @@ Forum Nokia -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en.
