mercurial/localrepo.py
changeset 2022 a59da8cc35e4
parent 2021 fc22ed56afe3
child 2029 d436b21b20dc
equal deleted inserted replaced
2021:fc22ed56afe3 2022:a59da8cc35e4
   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: