Tortoise overlay icons disappear on commit
Moderators: Hacker, petermad, Stefan2, white
Tortoise overlay icons disappear on commit
Hi
when I check in one file all the overlay icons for Tortoise subversion disappear for the other files in the folder and I have to navigate out of the folder and back in again for the icons to come back. This behaviour is also erratic and does not happen all the time.
Pete
when I check in one file all the overlay icons for Tortoise subversion disappear for the other files in the folder and I have to navigate out of the folder and back in again for the icons to come back. This behaviour is also erratic and does not happen all the time.
Pete
- PeaceMaker
- Senior Member
- Posts: 287
- Joined: 2005-12-31, 22:32 UTC
- Location: Warsaw, Poland
- Contact:
- SanskritFritz
- Power Member
- Posts: 3693
- Joined: 2003-07-24, 09:25 UTC
- Location: Budapest, Hungary
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
I'm requesting the overlay icons as usual. Maybe Tortoise is busy with the commit and doesn't return any icons?
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- SanskritFritz
- Power Member
- Posts: 3693
- Joined: 2003-07-24, 09:25 UTC
- Location: Budapest, Hungary
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
The icons are not cleared on Ctrl+R if nothing else in the directory has changed...
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
-
- Junior Member
- Posts: 2
- Joined: 2007-09-19, 18:22 UTC
FYI:
TortoiseSVN really does return "no status" (i.e., no overlay) while the working copy is locked or if it takes too long to fetch the status for some other reason.
But the TSVN status cache will send shell notifications as soon as the working copy isn't locked anymore (a working copy gets locked every time an update/commit/... is done until the operation is finished).
SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATH | SHCNF_FLUSHNOWAIT, path, NULL);
Maybe you can catch those messages and update the overlays for those paths? The explorer catches those and therefore updates the overlays.
TortoiseSVN really does return "no status" (i.e., no overlay) while the working copy is locked or if it takes too long to fetch the status for some other reason.
But the TSVN status cache will send shell notifications as soon as the working copy isn't locked anymore (a working copy gets locked every time an update/commit/... is done until the operation is finished).
SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATH | SHCNF_FLUSHNOWAIT, path, NULL);
Maybe you can catch those messages and update the overlays for those paths? The explorer catches those and therefore updates the overlays.
- SanskritFritz
- Power Member
- Posts: 3693
- Joined: 2003-07-24, 09:25 UTC
- Location: Budapest, Hungary
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
So in principle, TC could react to refresh messages (when auto-refresh options are used by the user). But how to know that the overlay has to be re-read? If TC did this on every refresh message, this would become rather slow...
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- SanskritFritz
- Power Member
- Posts: 3693
- Joined: 2003-07-24, 09:25 UTC
- Location: Budapest, Hungary
2ghisler(Author)
Could you please reread the post by tortoisesvn? I think he aswers your question right there.
Could you please reread the post by tortoisesvn? I think he aswers your question right there.
Ghisler wrote:But how to know that the overlay has to be re-read?
tortoisesvn wrote:the TSVN status cache will send shell notifications as soon as the working copy isn't locked anymore (a working copy gets locked every time an update/commit/... is done until the operation is finished).
SHChangeNotify(SHCNE_UPDATEITEM, SHCNF_PATH | SHCNF_FLUSHNOWAIT, path, NULL);
Maybe you can catch those messages and update the overlays for those paths?
I switched to Linux, bye and thanks for all the fish!
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Well, it's an update message as TC gets when a file changes size during a download. If TC requested a new overlay icon every time a file size changes, this would mean a huge slowdown of the download...
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- SanskritFritz
- Power Member
- Posts: 3693
- Joined: 2003-07-24, 09:25 UTC
- Location: Budapest, Hungary
- SanskritFritz
- Power Member
- Posts: 3693
- Joined: 2003-07-24, 09:25 UTC
- Location: Budapest, Hungary
2SanskritFritz
The question is if there is way to know that only the overlay icon changed has to be redrawn. The SHChangeNotify function supports very detailed information but the ReadDirectoryChangesW used by TC only supports a quite limited set of of update information. I guess that the SHChangeNotify call is translated into FILE_ACTION_MODIFIED.
http://msdn2.microsoft.com/en-us/library/aa364391.aspx
The question is if there is way to know that only the overlay icon changed has to be redrawn. The SHChangeNotify function supports very detailed information but the ReadDirectoryChangesW used by TC only supports a quite limited set of of update information. I guess that the SHChangeNotify call is translated into FILE_ACTION_MODIFIED.
http://msdn2.microsoft.com/en-us/library/aa364391.aspx