mercurial/dirstate.py
changeset 6762 f67d1468ac50
parent 6756 d56ceb82cddb
child 6767 80605a8127e0
equal deleted inserted replaced
6761:cb981fc955fb 6762:f67d1468ac50
   151 
   151 
   152     def __contains__(self, key):
   152     def __contains__(self, key):
   153         return key in self._map
   153         return key in self._map
   154 
   154 
   155     def __iter__(self):
   155     def __iter__(self):
   156         a = self._map.keys()
   156         for x in util.sort(self._map):
   157         a.sort()
       
   158         for x in a:
       
   159             yield x
   157             yield x
   160 
   158 
   161     def parents(self):
   159     def parents(self):
   162         return self._pl
   160         return self._pl
   163 
   161 
   434                 ret[x] = self._map[x]
   432                 ret[x] = self._map[x]
   435 
   433 
   436         if not unknown:
   434         if not unknown:
   437             return ret
   435             return ret
   438 
   436 
   439         b = self._map.keys()
   437         b = util.sort(self._map)
   440         b.sort()
       
   441         blen = len(b)
   438         blen = len(b)
   442 
   439 
   443         for x in unknown:
   440         for x in unknown:
   444             bs = bisect.bisect(b, "%s%s" % (x, '/'))
   441             bs = bisect.bisect(b, "%s%s" % (x, '/'))
   445             while bs < blen:
   442             while bs < blen:
   576                     elif imatch(np):
   573                     elif imatch(np):
   577                         if supported(np, st.st_mode):
   574                         if supported(np, st.st_mode):
   578                             add((nn, 'f', st))
   575                             add((nn, 'f', st))
   579                         elif np in dc:
   576                         elif np in dc:
   580                             add((nn, 'm', st))
   577                             add((nn, 'm', st))
   581             found.sort()
   578             return util.sort(found)
   582             return found
       
   583 
   579 
   584         # step one, find all files that match our criteria
   580         # step one, find all files that match our criteria
   585         files.sort()
   581         for ff in util.sort(files):
   586         for ff in files:
       
   587             nf = normpath(ff)
   582             nf = normpath(ff)
   588             nn = self.normalize(nf)
   583             nn = self.normalize(nf)
   589             f = _join(ff)
   584             f = _join(ff)
   590             try:
   585             try:
   591                 st = lstat(f)
   586                 st = lstat(f)
   615                     elif ff in dc:
   610                     elif ff in dc:
   616                         yield 'm', nf, st
   611                         yield 'm', nf, st
   617 
   612 
   618         # step two run through anything left in the dc hash and yield
   613         # step two run through anything left in the dc hash and yield
   619         # if we haven't already seen it
   614         # if we haven't already seen it
   620         ks = dc.keys()
   615         for k in util.sort(dc):
   621         ks.sort()
       
   622         for k in ks:
       
   623             if k in known:
   616             if k in known:
   624                 continue
   617                 continue
   625             known[k] = 1
   618             known[k] = 1
   626             if imatch(k):
   619             if imatch(k):
   627                 yield 'm', k, None
   620                 yield 'm', k, None