[PATCH 2 of 5] scmutil: ignore removed files in case-folding collision check for efficiency

Matt Mackall mpm at selenic.com
Wed Nov 13 15:03:56 CST 2013


On Tue, 2013-11-12 at 00:15 +0900, FUJIWARA Katsunori wrote:
> # HG changeset patch
> # User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
> # Date 1384182480 -32400
> #      Tue Nov 12 00:08:00 2013 +0900
> # Node ID 5cede77133f0b1311892898965dfd52d12056d9b
> # Parent  2558f01d2f7f2a118679f1ee68a743543039aff8
> scmutil: ignore removed files in case-folding collision check for efficiency

> -        allfiles = '\0'.join(dirstate._map)
> +        allfiles = '\0'.join(f for f, s in dirstate.iteritems() if s[0] != 'r')

I suspect this is significantly slower on large manifests.

You should instead keep the existing allfiles code, then if that hits,
check against removed files.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list