mercurial/dirstate.py
changeset 6590 9f80e062d71c
parent 6589 0f98cae7c77f
child 6591 eda3fd322a7f
equal deleted inserted replaced
6589:0f98cae7c77f 6590:9f80e062d71c
   588         cadd = clean.append
   588         cadd = clean.append
   589 
   589 
   590         for src, fn, st in self.statwalk(files, match, unknown=list_unknown,
   590         for src, fn, st in self.statwalk(files, match, unknown=list_unknown,
   591                                          ignored=list_ignored):
   591                                          ignored=list_ignored):
   592             if fn in dmap:
   592             if fn in dmap:
   593                 type_, mode, size, time, foo = dmap[fn]
   593                 state, mode, size, time, foo = dmap[fn]
   594             else:
   594             else:
   595                 if (list_ignored or fn in files) and self._dirignore(fn):
   595                 if (list_ignored or fn in files) and self._dirignore(fn):
   596                     if list_ignored:
   596                     if list_ignored:
   597                         iadd(fn)
   597                         iadd(fn)
   598                 elif list_unknown:
   598                 elif list_unknown:
   610                     # We need to re-check that it is a valid file
   610                     # We need to re-check that it is a valid file
   611                     if st and self._supported(fn, st.st_mode):
   611                     if st and self._supported(fn, st.st_mode):
   612                         nonexistent = False
   612                         nonexistent = False
   613                 # XXX: what to do with file no longer present in the fs
   613                 # XXX: what to do with file no longer present in the fs
   614                 # who are not removed in the dirstate ?
   614                 # who are not removed in the dirstate ?
   615                 if nonexistent and type_ in "nma":
   615                 if nonexistent and state in "nma":
   616                     dadd(fn)
   616                     dadd(fn)
   617                     continue
   617                     continue
   618             # check the common case first
   618             # check the common case first
   619             if type_ == 'n':
   619             if state == 'n':
   620                 if not st:
   620                 if not st:
   621                     st = lstat(_join(fn))
   621                     st = lstat(_join(fn))
   622                 if (size >= 0 and
   622                 if (size >= 0 and
   623                     (size != st.st_size
   623                     (size != st.st_size
   624                      or ((mode ^ st.st_mode) & 0100 and self._checkexec))
   624                      or ((mode ^ st.st_mode) & 0100 and self._checkexec))
   627                     madd(fn)
   627                     madd(fn)
   628                 elif time != int(st.st_mtime):
   628                 elif time != int(st.st_mtime):
   629                     ladd(fn)
   629                     ladd(fn)
   630                 elif list_clean:
   630                 elif list_clean:
   631                     cadd(fn)
   631                     cadd(fn)
   632             elif type_ == 'm':
   632             elif state == 'm':
   633                 madd(fn)
   633                 madd(fn)
   634             elif type_ == 'a':
   634             elif state == 'a':
   635                 aadd(fn)
   635                 aadd(fn)
   636             elif type_ == 'r':
   636             elif state == 'r':
   637                 radd(fn)
   637                 radd(fn)
   638 
   638 
   639         return (lookup, modified, added, removed, deleted, unknown, ignored,
   639         return (lookup, modified, added, removed, deleted, unknown, ignored,
   640                 clean)
   640                 clean)