Mercurial > hg
comparison mercurial/dirstate.py @ 18654:d9ff580fcaa2
Merge
author | Bryan O'Sullivan <bryano@fb.com> |
---|---|
date | Sun, 10 Feb 2013 16:21:30 -0800 |
parents | 2cbd27f4f3c4 0969980308c7 |
children | 05cf40f9b0ec |
comparison
equal
deleted
inserted
replaced
18651:e556659340f0 | 18654:d9ff580fcaa2 |
---|---|
691 results[nf] = None | 691 results[nf] = None |
692 | 692 |
693 # step 3: report unseen items in the dmap hash | 693 # step 3: report unseen items in the dmap hash |
694 if not skipstep3 and not exact: | 694 if not skipstep3 and not exact: |
695 visit = sorted([f for f in dmap if f not in results and matchfn(f)]) | 695 visit = sorted([f for f in dmap if f not in results and matchfn(f)]) |
696 nf = iter(visit).next | 696 if unknown: |
697 for st in util.statfiles([join(i) for i in visit]): | 697 # unknown == True means we walked the full directory tree above. |
698 results[nf()] = st | 698 # So if a file is not seen it was either a) not matching matchfn |
699 # b) ignored, c) missing, or d) under a symlink directory. | |
700 audit_path = scmutil.pathauditor(self._root) | |
701 | |
702 for nf in iter(visit): | |
703 # Report ignored items in the dmap as long as they are not | |
704 # under a symlink directory. | |
705 if ignore(nf) and audit_path.check(nf): | |
706 results[nf] = util.statfiles([join(nf)])[0] | |
707 else: | |
708 # It's either missing or under a symlink directory | |
709 results[nf] = None | |
710 else: | |
711 # We may not have walked the full directory tree above, | |
712 # so stat everything we missed. | |
713 nf = iter(visit).next | |
714 for st in util.statfiles([join(i) for i in visit]): | |
715 results[nf()] = st | |
699 for s in subrepos: | 716 for s in subrepos: |
700 del results[s] | 717 del results[s] |
701 del results['.hg'] | 718 del results['.hg'] |
702 return results | 719 return results |
703 | 720 |