##// END OF EJS Templates
walk: refactor walk plan...
Matt Mackall -
r8683:99eb4dcb default
parent child Browse files
Show More
@@ -460,21 +460,20 b' class dirstate(object):'
460 work = []
460 work = []
461 wadd = work.append
461 wadd = work.append
462
462
463 if match.anypats():
463 if match.anypats(): # match.match or .exact with patterns
464 #match.match with patterns
465 dostep3 = True
464 dostep3 = True
466 nomatches = False
465 exact = False
467 elif not match.files():
466 elif matchfn == match.exact: # match.exact without patterns
468 #match.always or match.never
467 dostep3 = False
469 dostep3 = matchfn('')
468 exact = True
470 nomatches = not dostep3
469 elif match.files(): # match.match without patterns
471 else:
472 #match.exact or match.match without pattern
473 dostep3 = False
470 dostep3 = False
474 nomatches = matchfn == match.exact
471 exact = False
472 else: # match.always
473 dostep3 = True
474 exact = False
475
475
476 if nomatches:
476 if exact: # skip step 2
477 #skip step 2
478 dirignore = util.always
477 dirignore = util.always
479
478
480 files = set(match.files())
479 files = set(match.files())
@@ -551,7 +550,7 b' class dirstate(object):'
551 results[nf] = None
550 results[nf] = None
552
551
553 # step 3: report unseen items in the dmap hash
552 # step 3: report unseen items in the dmap hash
554 if dostep3 and not nomatches:
553 if dostep3 and not exact:
555 visit = sorted([f for f in dmap if f not in results and matchfn(f)])
554 visit = sorted([f for f in dmap if f not in results and matchfn(f)])
556 for nf, st in zip(visit, util.statfiles([join(i) for i in visit])):
555 for nf, st in zip(visit, util.statfiles([join(i) for i in visit])):
557 if not st is None and not getkind(st.st_mode) in (regkind, lnkkind):
556 if not st is None and not getkind(st.st_mode) in (regkind, lnkkind):
General Comments 0
You need to be logged in to leave comments. Login now