##// END OF EJS Templates
dirstate: localize a bunch of methods in status fastpath
Matt Mackall -
r5003:4b1acb3e default
parent child Browse files
Show More
@@ -471,20 +471,33 b' class dirstate(object):'
471 lookup, modified, added, unknown, ignored = [], [], [], [], []
471 lookup, modified, added, unknown, ignored = [], [], [], [], []
472 removed, deleted, clean = [], [], []
472 removed, deleted, clean = [], [], []
473
473
474 _join = self._join
475 lstat = os.lstat
476 cmap = self._copymap
477 dmap = self._map
478 ladd = lookup.append
479 madd = modified.append
480 aadd = added.append
481 uadd = unknown.append
482 iadd = ignored.append
483 radd = removed.append
484 dadd = deleted.append
485 cadd = clean.append
486
474 for src, fn, st in self.statwalk(files, match, ignored=list_ignored):
487 for src, fn, st in self.statwalk(files, match, ignored=list_ignored):
475 try:
488 if fn in dmap:
476 type_, mode, size, time = self._map[fn]
489 type_, mode, size, time = dmap[fn]
477 except KeyError:
490 else:
478 if list_ignored and self._ignore(fn):
491 if list_ignored and self._ignore(fn):
479 ignored.append(fn)
492 iadd(fn)
480 else:
493 else:
481 unknown.append(fn)
494 uadd(fn)
482 continue
495 continue
483 if src == 'm':
496 if src == 'm':
484 nonexistent = True
497 nonexistent = True
485 if not st:
498 if not st:
486 try:
499 try:
487 st = os.lstat(self._join(fn))
500 st = lstat(_join(fn))
488 except OSError, inst:
501 except OSError, inst:
489 if inst.errno != errno.ENOENT:
502 if inst.errno != errno.ENOENT:
490 raise
503 raise
@@ -495,26 +508,26 b' class dirstate(object):'
495 # XXX: what to do with file no longer present in the fs
508 # XXX: what to do with file no longer present in the fs
496 # who are not removed in the dirstate ?
509 # who are not removed in the dirstate ?
497 if nonexistent and type_ in "nm":
510 if nonexistent and type_ in "nm":
498 deleted.append(fn)
511 dadd(fn)
499 continue
512 continue
500 # check the common case first
513 # check the common case first
501 if type_ == 'n':
514 if type_ == 'n':
502 if not st:
515 if not st:
503 st = os.lstat(self._join(fn))
516 st = lstat(_join(fn))
504 if (size >= 0 and (size != st.st_size
517 if (size >= 0 and (size != st.st_size
505 or (mode ^ st.st_mode) & 0100)
518 or (mode ^ st.st_mode) & 0100)
506 or fn in self._copymap):
519 or fn in self._copymap):
507 modified.append(fn)
520 madd(fn)
508 elif time != int(st.st_mtime):
521 elif time != int(st.st_mtime):
509 lookup.append(fn)
522 ladd(fn)
510 elif list_clean:
523 elif list_clean:
511 clean.append(fn)
524 cadd(fn)
512 elif type_ == 'm':
525 elif type_ == 'm':
513 modified.append(fn)
526 madd(fn)
514 elif type_ == 'a':
527 elif type_ == 'a':
515 added.append(fn)
528 aadd(fn)
516 elif type_ == 'r':
529 elif type_ == 'r':
517 removed.append(fn)
530 radd(fn)
518
531
519 return (lookup, modified, added, removed, deleted, unknown, ignored,
532 return (lookup, modified, added, removed, deleted, unknown, ignored,
520 clean)
533 clean)
General Comments 0
You need to be logged in to leave comments. Login now