Show More
@@ -369,6 +369,14 b' class dirstate(object):' | |||
|
369 | 369 | % (self.pathto(f), kind)) |
|
370 | 370 | return False |
|
371 | 371 | |
|
372 | def _dirignore(self, f): | |
|
373 | if self._ignore(f): | |
|
374 | return True | |
|
375 | for c in strutil.findall(f, '/'): | |
|
376 | if self._ignore(f[:c]): | |
|
377 | return True | |
|
378 | return False | |
|
379 | ||
|
372 | 380 | def walk(self, files=None, match=util.always, badmatch=None): |
|
373 | 381 | # filter out the stat |
|
374 | 382 | for src, f, st in self.statwalk(files, match, badmatch=badmatch): |
@@ -404,9 +412,11 b' class dirstate(object):' | |||
|
404 | 412 | return match(file_) |
|
405 | 413 | |
|
406 | 414 | ignore = self._ignore |
|
415 | dirignore = self._dirignore | |
|
407 | 416 | if ignored: |
|
408 | 417 | imatch = match |
|
409 | 418 | ignore = util.never |
|
419 | dirignore = util.never | |
|
410 | 420 | |
|
411 | 421 | # self._root may end with a path separator when self._root == '/' |
|
412 | 422 | common_prefix_len = len(self._root) |
@@ -492,8 +502,9 b' class dirstate(object):' | |||
|
492 | 502 | yield 'b', ff, None |
|
493 | 503 | continue |
|
494 | 504 | if s_isdir(st.st_mode): |
|
495 | for f, src, st in findfiles(f): | |
|
496 |
|
|
|
505 | if not dirignore(nf): | |
|
506 | for f, src, st in findfiles(f): | |
|
507 | yield src, f, st | |
|
497 | 508 | else: |
|
498 | 509 | if nf in known: |
|
499 | 510 | continue |
General Comments 0
You need to be logged in to leave comments.
Login now