Although much of this thread is above my pay grade, I hope to be able to 
contribute productively since several of my use cases for Leo have caused 
cross-file cloning problems. I hope those more knowledgeable than I will 
feel free to jump in an correct any mistakes below, and do please excuse 
the over-snipping.

On Thursday, January 19, 2012 3:14:52 AM UTC+7, Differance wrote:

> Is it correct to say that you'll have no problems if you use the Leo app 
and just freely and unthinkingly use clones in one Leo file?

My understanding is yes, all of the problems discussed here have at their 
source the fact that files may be updated externally, in conflict from 
changes made within Leo. If all changes are done within Leo only (or 
externally only) then AFAIK there are no problems, or at least none 
resulting in data loss.

> But I'm still unclear what a cross-file clone is. Is it a clone that's in 
the one leo file, pointing at external file A, while within the @file 
branch for external file B?

Forget about multiple Leo files in this context - Ed has outlines ways to 
ensure safely sharing content between multiple Leo files - via what he 
calls "reference" files I believe - but that's not what we're talking about 
here. 

Cross-file cloning to me is simply: 

nodes appear in multiple branches that are part of imported @ <files>.

The term "derived" file is confusing to me - would it apply to @ <files> 
that are 
  - only generated/exported, or 
  - only read/imported, or 
  - only to those that can be updated either within Leo or externally (aka 
"two-way" files)?

AFAIK only the last two types cause potential problems, my solution being 
to ensure that each node only appears once in such an @ <file>, all other 
instances being export-only.


> You can group clones without regard for what external files they're in, 
willy-nilly, so long as what you're doing is creating views into a 
codebase, wherein files are maintained independently, and never making one 
a clone
within another (which is a different purpose). True?

In (my understanding of) Ed's "views of code" use-case for clones, the 
what-I'll-call primary branches are the ones that handle all the read/write 
interaction, while secondary branches aren't involved in @ <files> at all, 
which eliminates any potential problems.

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/leo-editor/-/wQLLx-IqlPkJ.
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