On Jan 3, 2012, at 11:36 AM, HansBKK wrote:

> I understood him to mean that while it is straightforward to share the @ 
> <file> output files, it is difficult to share outline information contained 
> in the .leo files themselves, as the XML doesn't lend itself to merging.

Since the XML produced by Leo in practice places a tag for each node on a 
separate line in the .leo file, merging it is no different from merging any 
other text file.  The only thing that sometimes can cause an issue is when a 
node starts or stops being the parent of a subtree, in which case the closing 
portion of the node tag is moved between being on the same line as the opening 
portion of the node tag and being on a separate line after all the subnodes.  
Usually this is not a big deal, but in the relatively rare case where you are 
merging non-trivial changes you need to pay a little extra attention to make 
sure that the closing tags have all ended up in the correct places.

Of course, this relies on the fact that Leo outputs its XML description of the 
outline in a particular way.  This is why in the past when changes to the .leo 
format have been proposed I have suggested that it is important to also pin 
down exactly how whitespace in the XML file will be handled so that .leo files 
can play nicely together with revision control systems.

> I'm interested in your suggestions for working around this issue, however I'm 
> not following what you mean by:
> "merge an outline" "committing (parts of) outlines" - do you mean data stored 
> in sentinels or in .leo files?
> to "open" or "close" nodes ?

I mean that there is no problem in sharing *either* @file nodes or .leo files 
in a revision control system, as long as you close all of your nodes before 
saving the .leo file so that all of the markup having to do with which 
particular nodes you had open is stripped from the .leo file before you commit 
your changes.

> Perhaps it would help if you could describe your workflow's operations in 
> terms of actual commands, steps using Leo commands or menu items?

Close all nodes, save .leo file, commit only the portions that need to be 
shared (i.e., don't commit any personal clones of nodes you may have made for 
your own projects).

Cheers,
Greg

-- 
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.

Reply via email to