comparison mercurial/localrepo.py @ 1802:8a7a24b96697

speed up hg log --debug hg repo: before: real 0m6.998s user 0m6.952s sys 0m0.046s after: real 0m3.884s user 0m3.839s sys 0m0.042s
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sat, 25 Feb 2006 13:44:40 +0100
parents d5248726d22f
children a2c69737e65e
comparison
equal deleted inserted replaced
1801:38e19b1d3de8 1802:8a7a24b96697
516 mf = dict(self.manifest.read(change[0])) 516 mf = dict(self.manifest.read(change[0]))
517 for fn in mf.keys(): 517 for fn in mf.keys():
518 if not match(fn): 518 if not match(fn):
519 del mf[fn] 519 del mf[fn]
520 return mf 520 return mf
521
522 if node1:
523 # read the manifest from node1 before the manifest from node2,
524 # so that we'll hit the manifest cache if we're going through
525 # all the revisions in parent->child order.
526 mf1 = mfmatches(node1)
521 527
522 # are we comparing the working directory? 528 # are we comparing the working directory?
523 if not node2: 529 if not node2:
524 if not wlock: 530 if not wlock:
525 try: 531 try:
554 mf2 = mfmatches(node2) 560 mf2 = mfmatches(node2)
555 561
556 if node1: 562 if node1:
557 # flush lists from dirstate before comparing manifests 563 # flush lists from dirstate before comparing manifests
558 modified, added = [], [] 564 modified, added = [], []
559
560 mf1 = mfmatches(node1)
561 565
562 for fn in mf2: 566 for fn in mf2:
563 if mf1.has_key(fn): 567 if mf1.has_key(fn):
564 if mf1[fn] != mf2[fn] and (mf2[fn] != "" or fcmp(fn, mf1)): 568 if mf1[fn] != mf2[fn] and (mf2[fn] != "" or fcmp(fn, mf1)):
565 modified.append(fn) 569 modified.append(fn)