diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -634,7 +634,9 @@ class dirstate(object): alldirs = None for ff in files: - if normalize: + # constructing the foldmap is expensive, so don't do it for the + # common case where files is ['.'] + if normalize and ff != '.': nf = normalize(ff, False, True) else: nf = ff