mercurial/dirstate.py
changeset 4188 dd0d9bd91e0a
parent 4173 b36bd7534c08
child 4195 b5d1eaade333
child 4254 a7cae4e22749
equal deleted inserted replaced
4187:9814d600011e 4188:dd0d9bd91e0a
   385         def imatch(file_):
   385         def imatch(file_):
   386             if file_ not in dc and self.ignore(file_):
   386             if file_ not in dc and self.ignore(file_):
   387                 return False
   387                 return False
   388             return match(file_)
   388             return match(file_)
   389 
   389 
   390         if ignored: imatch = match
   390         ignore = self.ignore
       
   391         if ignored:
       
   392             imatch = match
       
   393             ignore = util.never
   391 
   394 
   392         # self.root may end with a path separator when self.root == '/'
   395         # self.root may end with a path separator when self.root == '/'
   393         common_prefix_len = len(self.root)
   396         common_prefix_len = len(self.root)
   394         if not self.root.endswith(os.sep):
   397         if not self.root.endswith(os.sep):
   395             common_prefix_len += 1
   398             common_prefix_len += 1
   418                         continue
   421                         continue
   419                     p = os.path.join(top, f)
   422                     p = os.path.join(top, f)
   420                     # don't trip over symlinks
   423                     # don't trip over symlinks
   421                     st = os.lstat(p)
   424                     st = os.lstat(p)
   422                     if stat.S_ISDIR(st.st_mode):
   425                     if stat.S_ISDIR(st.st_mode):
   423                         ds = util.pconvert(os.path.join(nd, f +'/'))
   426                         if not ignore(p):
   424                         if imatch(ds):
       
   425                             work.append(p)
   427                             work.append(p)
   426                         if imatch(np) and np in dc:
   428                         if imatch(np) and np in dc:
   427                             yield 'm', np, st
   429                             yield 'm', np, st
   428                     elif imatch(np):
   430                     elif imatch(np):
   429                         if self.supported_type(np, st):
   431                         if self.supported_type(np, st):