On 02.09.2010 21:07, Steve Borho wrote: > 2010/9/2 André Felipe Dias <[email protected]>: >> If the shell extension must be in cpp, couldn't this just be a piece of code >> calling a python one that actually does the job? > > It could. >
But only via a cache and never waiting synchronously for filling a cold cache. 'hg status' just takes waaaay too long to be done inside COM member function IShellIconOverlayIdentifier::IsMemberOf(). So how is that done today? We use the cache in the file .hg/dirstate, which mercurial writes anyway and add some missing additional bits in a new file .hg/thgstatus. Who writes .hg/thgstatus? A python job! It's in TortoiseHgOverlayServer.py and actually already does a 'hg status' call internally (using mercurial's python API). It's kicked over a named pipe from the shell ext C++ code. So, that's actually already happening. What's missing is adding that additional info (ignored and unknown files) to .hg/thgstatus. (And no, I'm not going to do that). ------------------------------------------------------------------------------ This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd _______________________________________________ Tortoisehg-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss

