On 24.04.2009 04:33, Steve Borho wrote: > On Thu, Apr 23, 2009 at 5:34 PM, Adrian Buehlmann <[email protected]> wrote: >> On 23.04.2009 23:10, Adrian Buehlmann wrote: >>> On 23.04.2009 02:42, TK Soh wrote: >>>> Just a thought. If Adrian can get the folders to show the overlay >>>> icons quickly, perhaps we can slot in this overlay icons extension, >>>> while waiting for or in case we can't get the 'official' C++ shellext >>>> ready for 0.8. >>> (1) >>> Overlay icons on folders currently looks like a harder nut to me, so don't >>> expect anything quickly (if at all). I might play with it if I'm bored >>> enough >>> (and not distracted by other -- non Mercurial -- stuff popping up). >> Oh, wait. >> >> http://bitbucket.org/bfrog/cutehg-crew/src/fe85ceaf5084/win32/shellext/dirstate.c#cl-263 >> >> looks very cute indeed. Nice work by Benjamin Pollack. >> >> For directories, he just iterates over all dirstate entries as well, >> matching part of >> the path and seeing if there is an added / modified file inside. >> >> Add wins over modified. > > FWIW. The latest overlay code on crew keeps a mask of bits so we can > paint both the added and modified (and possibly other) overlays on > folders. This seems a feature we want to keep.
Oh. Hmmm. >> That should give nearly the same speed for directories as for the files >> alone, >> I suspect. > > Since the file is sorted, you basically just need to keep reading > until you exit the folder. dirstate.dirstate.write doesn't look like it would write the entries sorted: http://hg.intevation.org/mercurial/crew/file/ddbee2d0d634/mercurial/dirstate.py#l367 : <snip> for f, e in self._map.iteritems(): if f in copymap: f = "%s\0%s" % (f, copymap[f]) if e[3] > limit and e[0] == 'n': e = (e[0], 0, -1, -1) e = pack(_format, e[0], e[1], e[2], e[3], len(f)) write(e) write(f) </snip> ? __iter__(self) does, but that's not used when writing, no? > No seeks. Yes, that might be pretty efficient. > >> I'm going to grab that ;-) > > We're all eager to hear how it goes. ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensign option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Tortoisehg-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop
