equal
deleted
inserted
replaced
635 ''' |
635 ''' |
636 # full is a flag that extensions that hook into walk can use -- this |
636 # full is a flag that extensions that hook into walk can use -- this |
637 # implementation doesn't use it at all. This satisfies the contract |
637 # implementation doesn't use it at all. This satisfies the contract |
638 # because we only guarantee a "maybe". |
638 # because we only guarantee a "maybe". |
639 |
639 |
640 def fwarn(f, msg): |
|
641 self._ui.warn('%s: %s\n' % (self.pathto(f), msg)) |
|
642 return False |
|
643 |
|
644 if ignored: |
640 if ignored: |
645 ignore = util.never |
641 ignore = util.never |
646 dirignore = util.never |
642 dirignore = util.never |
647 elif unknown: |
643 elif unknown: |
648 ignore = self._ignore |
644 ignore = self._ignore |
693 skip = '.hg' |
689 skip = '.hg' |
694 try: |
690 try: |
695 entries = listdir(join(nd), stat=True, skip=skip) |
691 entries = listdir(join(nd), stat=True, skip=skip) |
696 except OSError, inst: |
692 except OSError, inst: |
697 if inst.errno in (errno.EACCES, errno.ENOENT): |
693 if inst.errno in (errno.EACCES, errno.ENOENT): |
698 fwarn(nd, inst.strerror) |
694 match.bad(self.pathto(nd), inst.strerror) |
699 continue |
695 continue |
700 raise |
696 raise |
701 for f, kind, st in entries: |
697 for f, kind, st in entries: |
702 if normalize: |
698 if normalize: |
703 nf = normalize(nd and (nd + "/" + f) or f, True, True) |
699 nf = normalize(nd and (nd + "/" + f) or f, True, True) |