equal
deleted
inserted
replaced
496 else: |
496 else: |
497 for src, fn in self.dirstate.walk(files, match): |
497 for src, fn in self.dirstate.walk(files, match): |
498 yield src, fn |
498 yield src, fn |
499 |
499 |
500 def changes(self, node1=None, node2=None, files=[], match=util.always, |
500 def changes(self, node1=None, node2=None, files=[], match=util.always, |
501 wlock=None): |
501 wlock=None, show_ignored=None): |
502 """return changes between two nodes or node and working directory |
502 """return changes between two nodes or node and working directory |
503 |
503 |
504 If node1 is None, use the first dirstate parent instead. |
504 If node1 is None, use the first dirstate parent instead. |
505 If node2 is None, compare node1 with working directory. |
505 If node2 is None, compare node1 with working directory. |
506 """ |
506 """ |
529 if not wlock: |
529 if not wlock: |
530 try: |
530 try: |
531 wlock = self.wlock(wait=0) |
531 wlock = self.wlock(wait=0) |
532 except lock.LockException: |
532 except lock.LockException: |
533 wlock = None |
533 wlock = None |
534 lookup, modified, added, removed, deleted, unknown = ( |
534 lookup, modified, added, removed, deleted, unknown, ignored = ( |
535 self.dirstate.changes(files, match)) |
535 self.dirstate.changes(files, match, show_ignored)) |
536 |
536 |
537 # are we comparing working dir against its parent? |
537 # are we comparing working dir against its parent? |
538 if not node1: |
538 if not node1: |
539 if lookup: |
539 if lookup: |
540 # do a full compare of any files that might have changed |
540 # do a full compare of any files that might have changed |
553 for f in removed: |
553 for f in removed: |
554 if f in mf2: |
554 if f in mf2: |
555 del mf2[f] |
555 del mf2[f] |
556 else: |
556 else: |
557 # we are comparing two revisions |
557 # we are comparing two revisions |
558 deleted, unknown = [], [] |
558 deleted, unknown, ignored = [], [], [] |
559 mf2 = mfmatches(node2) |
559 mf2 = mfmatches(node2) |
560 |
560 |
561 if node1: |
561 if node1: |
562 # flush lists from dirstate before comparing manifests |
562 # flush lists from dirstate before comparing manifests |
563 modified, added = [], [] |
563 modified, added = [], [] |
571 added.append(fn) |
571 added.append(fn) |
572 |
572 |
573 removed = mf1.keys() |
573 removed = mf1.keys() |
574 |
574 |
575 # sort and return results: |
575 # sort and return results: |
576 for l in modified, added, removed, deleted, unknown: |
576 for l in modified, added, removed, deleted, unknown, ignored: |
577 l.sort() |
577 l.sort() |
578 return (modified, added, removed, deleted, unknown) |
578 if show_ignored is None: |
|
579 return (modified, added, removed, deleted, unknown) |
|
580 else: |
|
581 return (modified, added, removed, deleted, unknown, ignored) |
579 |
582 |
580 def add(self, list, wlock=None): |
583 def add(self, list, wlock=None): |
581 if not wlock: |
584 if not wlock: |
582 wlock = self.wlock() |
585 wlock = self.wlock() |
583 for f in list: |
586 for f in list: |