This post describes how to get the benefits of clones without having to 
worry about *clone wars*: the dreaded multiple updated problem arising from 
differing contents of clones contained in multiple external files.

Clone wars can be most annoying, especially when git updates files.  My 
solution, a fairly recent invention, is simple:

*Keep clones only in the outline and in one other external file*

In particular, leo/doc/leoProjects.txt or leo/doc/leoToDo.txt should *never 
*contain clones.

End of clone wars. Text in external files overrides text in the outline. If 
a clone exists in at most one external file there can be no doubt about 
what takes precedence.

*Details*

The strategy above works well.  In practice, I augment it as follows.

   - I create an organizer node called Recent Code that *stashes *all 
   recently-created clones. This node must be outside any @file tree!
   - For each project, say Fix bug 666, I create an organizer node called re: 
   666.  This node contains all the clones associated with the project.
   - When I'm done with a project (maybe just for the moment) I stash the re: 
   666 node as a child of the Recent Code node. The Recent Code node is 
   outside any @file tree, so all of its descendant nodes are too.
   - When the project is completely finished I write a summary of it in 
   leoProjects.txt and delete the re: 666 node and all its descendants.
   - *Soon*: an @button script that warns if leoProjects.txt or leoToDo.txt 
   contains clones.
   
Comments and questions welcome.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to