Community
Participate
Working Groups
To reproduce: 1. checkout a project to your workspace 2. add a file 3. project and file show up as dirty 4. open file explorer 5. delete the file 6. return to eclipse and refresh local the project 7. the file is deleted but the dirty state for the project and/or parent folders is not updated. I think the problem is that the toggling of dirty states for parent folders is handled in the MoveDeleteHook class but when a file has already been deleted from the file system this hook is no called. Remember that the hook should _not_ be called since the file has already been deleted and there is no action to veto.
This bug will result in the deletion not showing as an outgoing deletion. As a workaround, refresh from file system than after synchronizing with the repository run override and update to get the file back. Moving to post 2.1.
*** Bug 33619 has been marked as a duplicate of this bug. ***
*** Bug 35716 has been marked as a duplicate of this bug. ***
We should investigate how complex the fix is for this for 2.1.1. I have a feeling that it will be too compex but it's worth looking at.
I retract my last statement. Unless I am mistaken, this should be easy to fix. It should be enough to flush whatever sync info we have (in the SyncFileChangeListener) which will cause it to be re-read from disk. We can limit when we flush by doing so only on file deletions where the file is not managed (because the sync info was lost) but the parent folder is a CVS folder.
Fix has been released to R2_1_maintenance branch
Verified.