I believe I've traced the problem to the "refresh workspace on startup"
preference setting. Looking for a workaround to my problem I tried
closing and reopening my project with this preference off. The
Navigator file tree labels correctly marked the externally modified
files. So with this preference still off, I checked everything in,
closed Eclipse and modified one of the working copy files. When I
restarted Eclipse and did a manual workspace refresh, the modified file
was correctly decorated.
To see if I could repeat the problem, I committed the change and checked
the "refresh workspace on startup" preference. I then repeated the test
(closed Eclipse, changed the file and restarted Eclipse). The label
decorations were wrong, even after a manual refresh. I unchecked the
Preference, restarted eclipse and the labels were still wrong. But I
was again able to fix the problem by closing and reopening the project.
It appears that setting the "refresh workspace on startup" Preference
somehow persistently gums up the refresh/label decoration process. It
almost seems as if running refresh in a background thread may leave an
uncleared lock around, preventing subsequent manual refreshes from
working. Perhaps this occurs only if other exceptions are raised during
startup.
Anyway I now have a repeatable procedure for inducing this error and a
repeatable procedure for removing it.
Bob
Received on Mon Nov 21 08:43:00 2005