Mercurial > public > mercurial-scm > hg
comparison mercurial/dirstate.py @ 2022:a59da8cc35e4
New option -i/--ignored for 'hg status' to show ignored files.
localrepo.changes() now returns an additional list of ignored files if
it is called with show_ignored=True.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Wed, 29 Mar 2006 22:58:34 +0200 |
parents | 11ffa1267185 |
children | a514c7509fa9 5987c1eac2ce |
comparison
equal
deleted
inserted
replaced
2021:fc22ed56afe3 | 2022:a59da8cc35e4 |
---|---|
292 self.ui.warn(_('%s: unsupported file type (type is %s)\n') % ( | 292 self.ui.warn(_('%s: unsupported file type (type is %s)\n') % ( |
293 util.pathto(self.getcwd(), f), | 293 util.pathto(self.getcwd(), f), |
294 kind)) | 294 kind)) |
295 return False | 295 return False |
296 | 296 |
297 def statwalk(self, files=None, match=util.always, dc=None): | 297 def statwalk(self, files=None, match=util.always, dc=None, ignored=False): |
298 self.lazyread() | 298 self.lazyread() |
299 | 299 |
300 # walk all files by default | 300 # walk all files by default |
301 if not files: | 301 if not files: |
302 files = [self.root] | 302 files = [self.root] |
305 elif not dc: | 305 elif not dc: |
306 dc = self.filterfiles(files) | 306 dc = self.filterfiles(files) |
307 | 307 |
308 def statmatch(file_, stat): | 308 def statmatch(file_, stat): |
309 file_ = util.pconvert(file_) | 309 file_ = util.pconvert(file_) |
310 if file_ not in dc and self.ignore(file_): | 310 if not ignored and file_ not in dc and self.ignore(file_): |
311 return False | 311 return False |
312 return match(file_) | 312 return match(file_) |
313 | 313 |
314 return self.walkhelper(files=files, statmatch=statmatch, dc=dc) | 314 return self.walkhelper(files=files, statmatch=statmatch, dc=dc) |
315 | 315 |
407 ks.sort() | 407 ks.sort() |
408 for k in ks: | 408 for k in ks: |
409 if not seen(k) and (statmatch(k, None)): | 409 if not seen(k) and (statmatch(k, None)): |
410 yield 'm', k, None | 410 yield 'm', k, None |
411 | 411 |
412 def changes(self, files=None, match=util.always): | 412 def changes(self, files=None, match=util.always, show_ignored=None): |
413 lookup, modified, added, unknown = [], [], [], [] | 413 lookup, modified, added, unknown, ignored = [], [], [], [], [] |
414 removed, deleted = [], [] | 414 removed, deleted = [], [] |
415 | 415 |
416 for src, fn, st in self.statwalk(files, match): | 416 for src, fn, st in self.statwalk(files, match, ignored=show_ignored): |
417 try: | 417 try: |
418 type_, mode, size, time = self[fn] | 418 type_, mode, size, time = self[fn] |
419 except KeyError: | 419 except KeyError: |
420 unknown.append(fn) | 420 if show_ignored and self.ignore(fn): |
421 ignored.append(fn) | |
422 else: | |
423 unknown.append(fn) | |
421 continue | 424 continue |
422 if src == 'm': | 425 if src == 'm': |
423 nonexistent = True | 426 nonexistent = True |
424 if not st: | 427 if not st: |
425 try: | 428 try: |
451 elif type_ == 'a': | 454 elif type_ == 'a': |
452 added.append(fn) | 455 added.append(fn) |
453 elif type_ == 'r': | 456 elif type_ == 'r': |
454 removed.append(fn) | 457 removed.append(fn) |
455 | 458 |
456 return (lookup, modified, added, removed, deleted, unknown) | 459 return (lookup, modified, added, removed, deleted, unknown, ignored) |