Mercurial > public > mercurial-scm > hg
comparison mercurial/dirstate.py @ 19191:ab9de1e8fc36
dirstate.status: avoid full walks when possible
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Tue, 23 Apr 2013 14:16:33 -0700 |
parents | b03952ee634d |
children | 0ec31231afad |
comparison
equal
deleted
inserted
replaced
19190:b03952ee634d | 19191:ab9de1e8fc36 |
---|---|
805 copymap = self._copymap | 805 copymap = self._copymap |
806 lastnormaltime = self._lastnormaltime | 806 lastnormaltime = self._lastnormaltime |
807 | 807 |
808 lnkkind = stat.S_IFLNK | 808 lnkkind = stat.S_IFLNK |
809 | 809 |
810 for fn, st in self.walk(match, subrepos, listunknown, | 810 # We need to do full walks when either |
811 listignored).iteritems(): | 811 # - we're listing all clean files, or |
812 # - match.traversedir does something, because match.traversedir should | |
813 # be called for every dir in the working dir | |
814 full = listclean or match.traversedir is not None | |
815 for fn, st in self.walk(match, subrepos, listunknown, listignored, | |
816 full=full).iteritems(): | |
812 if fn not in dmap: | 817 if fn not in dmap: |
813 if (listignored or mexact(fn)) and dirignore(fn): | 818 if (listignored or mexact(fn)) and dirignore(fn): |
814 if listignored: | 819 if listignored: |
815 iadd(fn) | 820 iadd(fn) |
816 elif listunknown: | 821 elif listunknown: |