On Sunday, October 22, 2017 at 10:42:09 AM UTC-5, Edward K. Ream wrote:

​Caching can sometimes cause problems, especially when switching between 
> git branches.  To see if you have been bitten, ​do write-at-file-nodes 
> (Ctrl-Shift-W).  They should remain unchanged after load.  If not, 
> physically delete all caches and redo the tests.  I think there may be 
> subtle bugs lurking somewhere.
>

Yesterday I discovered, or perhaps rediscovered, a problem that isn't a 
bug, can't be "solved", but nevertheless can be disconcerting.

Private copies of LeoPyRef.leo, that is, leoPy.leo, are "global".  That is, 
they persist *unchanged* when switching branches.  In effect, they act like 
(sometimes) unwanted caches.

Here's what happened yesterday.  After switching away from master to 
another branch, I (inadvertently) sorted the children of the g.Debugging 
node. Oops!

After that, switching back to master is going to create a change to 
leoGlobals.py which is unrelated to caching.  There is no easy way to 
"undo" this change using leoPy.leo.   A leo-centric diff will reveal that 
the change is harmless, just a rearrangement of nodes.  However, this will 
not be so obvious using git diff.

If, somehow, one realizes what is going on, then one could undo the change 
using LeoPyRef.leo, assuming *it* is in sync with leoPy.leo, but that isn't 
likely.

The main lesson are:

1. Use leo-centric diffs (leo --diff) when mysteries happen.
2. Don't make unnecessary structural changes in leoPy.leo when in branches 
other than master.

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 https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to