comparison mercurial/scmutil.py @ 18865:835e9dfd1e49

scmutil.addremove: use iteritems on walk results Now that we no longer sort all the walk results, using iteritems becomes possible. This is a relatively minor speedup: on a large repository with 170,000 files, perfaddremove goes from 2.13 seconds to 2.10.
author Siddharth Agarwal <sid0@fb.com>
date Tue, 02 Apr 2013 14:50:50 -0700
parents 887b75fda169
children 38982de2b4eb
comparison
equal deleted inserted replaced
18864:887b75fda169 18865:835e9dfd1e49
676 m.bad = lambda x, y: rejected.append(x) 676 m.bad = lambda x, y: rejected.append(x)
677 677
678 ctx = repo[None] 678 ctx = repo[None]
679 dirstate = repo.dirstate 679 dirstate = repo.dirstate
680 walkresults = dirstate.walk(m, sorted(ctx.substate), True, False) 680 walkresults = dirstate.walk(m, sorted(ctx.substate), True, False)
681 for abs in walkresults: 681 for abs, st in walkresults.iteritems():
682 st = walkresults[abs]
683 dstate = dirstate[abs] 682 dstate = dirstate[abs]
684 if dstate == '?' and audit_path.check(abs): 683 if dstate == '?' and audit_path.check(abs):
685 unknown.append(abs) 684 unknown.append(abs)
686 elif dstate != 'r' and not st: 685 elif dstate != 'r' and not st:
687 deleted.append(abs) 686 deleted.append(abs)