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

Reply via email to