mercurial/dirstate.py
changeset 2661 5c10b7ed3411
parent 2486 3ea8111ead90
child 2670 93eb49419760
equal deleted inserted replaced
2640:02b6fa7bbfbf 2661:5c10b7ed3411
   432         ks.sort()
   432         ks.sort()
   433         for k in ks:
   433         for k in ks:
   434             if not seen(k) and (statmatch(k, None)):
   434             if not seen(k) and (statmatch(k, None)):
   435                 yield 'm', k, None
   435                 yield 'm', k, None
   436 
   436 
   437     def changes(self, files=None, match=util.always, show_ignored=None):
   437     def status(self, files=None, match=util.always, list_ignored=False,
       
   438                list_clean=False):
   438         lookup, modified, added, unknown, ignored = [], [], [], [], []
   439         lookup, modified, added, unknown, ignored = [], [], [], [], []
   439         removed, deleted = [], []
   440         removed, deleted, clean = [], [], []
   440 
   441 
   441         for src, fn, st in self.statwalk(files, match, ignored=show_ignored):
   442         for src, fn, st in self.statwalk(files, match, ignored=list_ignored):
   442             try:
   443             try:
   443                 type_, mode, size, time = self[fn]
   444                 type_, mode, size, time = self[fn]
   444             except KeyError:
   445             except KeyError:
   445                 if show_ignored and self.ignore(fn):
   446                 if list_ignored and self.ignore(fn):
   446                     ignored.append(fn)
   447                     ignored.append(fn)
   447                 else:
   448                 else:
   448                     unknown.append(fn)
   449                     unknown.append(fn)
   449                 continue
   450                 continue
   450             if src == 'm':
   451             if src == 'm':
   471                 if size >= 0 and (size != st.st_size
   472                 if size >= 0 and (size != st.st_size
   472                                   or (mode ^ st.st_mode) & 0100):
   473                                   or (mode ^ st.st_mode) & 0100):
   473                     modified.append(fn)
   474                     modified.append(fn)
   474                 elif time != st.st_mtime:
   475                 elif time != st.st_mtime:
   475                     lookup.append(fn)
   476                     lookup.append(fn)
       
   477                 elif list_clean:
       
   478                     clean.append(fn)
   476             elif type_ == 'm':
   479             elif type_ == 'm':
   477                 modified.append(fn)
   480                 modified.append(fn)
   478             elif type_ == 'a':
   481             elif type_ == 'a':
   479                 added.append(fn)
   482                 added.append(fn)
   480             elif type_ == 'r':
   483             elif type_ == 'r':
   481                 removed.append(fn)
   484                 removed.append(fn)
   482 
   485 
   483         return (lookup, modified, added, removed, deleted, unknown, ignored)
   486         return (lookup, modified, added, removed, deleted, unknown, ignored,
       
   487                 clean)