On Sat, Jul 3, 2010 at 1:24 PM, Adrian Buehlmann <[email protected]> wrote: > On 02.07.2010 09:17, TK Soh wrote: >> I am rather confused on something about the overlay icons (using thg >> 1.1) on Windows XP (32bit, SP3): the overlay icon of modified file >> changes to 'modified' almost immediately after I edit and save a file. >> But the icon remains as 'modified' after I undo the edit and save the >> file. I am aware I can run "Update Icons" to refresh. Maybe I am >> missing something >> > > Hello Tk, it's been a while since you posted here :-)
Some circumstances have prompted me to pay more attention to TortoiseHg, especially for Windows. BTW, I've looked forward to your response on this thread also ;-) > That's an effect of the shell extension's design, which is a trade-off > between speed, intruding windows processes with python.dll/mercurial or > not and overlay icon state accuracy. > > A trade-off that has been discussed quite a number of times on the > TortoiseHg mailing lists already (IMHO, ad nauseum). I'm sure you and other has spend a lot to discuss this. Given the potential circumstances where I might be using TortoiseHg (on Windows) a lot more, I'd like to understand the topic a bit more. So, I'd appreciate if you can bear with me. > In the use case you cite, the file's timestamp is newer than the file's > timestamp in .hg/dirstate, but the file size hasn't changed (because of > you undoing the file edit). I am slightly confused. Do you mean the status of a file is somehow depending it's mod time and size? I wonder what are the underlying logic/algorithm here. > This state needs a file compare to resolve correctly, which the shell > extension won't do by design (because of the design trade-off choosen). Is there any documentation somewhere (in the source perhaps) on the design? Or you can share a few line if you don't terribly mind doing so. > Try running a 'hg status' in that repo in that case -- mercurial will > update .hg/dirstate and the shell extension will display the correct > icon again (unmodified), even without hitting the F5 key (refresh) in > Windows explorer. > > It might be possible to trigger TortoiseHgOverlayServer.exe from the > shell extension in this case too, which basically does the same as 'hg > status' to update .hg/dirstate. In some cases, this already works > automagically, but apparently not in this one. > > Perhaps someone might come-up with a fix fir this specific case which > triggers TortoiseHgOverlayServer.exe in this case as well. Just make > sure you don't introduce any endless loops here -- I've been wary of > these when I made the current overlay handler. > > "Update icons" will update .hg/dirstate manually though, as you already > found out. Which is good enough for me for this case. Several people I worked with had used TortoiseSVN find this confusing, and the need to use "Update icons" is rather cumbersome. I hope we could resolve this. From the users' stand point, the overlay icons should provides up-to-date info as soon as possible. Else we might as well use the status dialog to get the repo status, since it take a same amount of work (menu clicks) to achieve that. ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ Tortoisehg-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss

