mercurial/branchmap.py
changeset 18644 3e92772d5383
parent 18451 d6b3b36f1db2
child 19837 c38eaeb3b45e
equal deleted inserted replaced
18643:cc28a84db8c9 18644:3e92772d5383
    93         self.filteredhash = filteredhash
    93         self.filteredhash = filteredhash
    94 
    94 
    95     def _hashfiltered(self, repo):
    95     def _hashfiltered(self, repo):
    96         """build hash of revision filtered in the current cache
    96         """build hash of revision filtered in the current cache
    97 
    97 
    98         Tracking tipnode and tiprev is not enough to ensure validaty of the
    98         Tracking tipnode and tiprev is not enough to ensure validity of the
    99         cache as they do not help to distinct cache that ignored various
    99         cache as they do not help to distinct cache that ignored various
   100         revision bellow tiprev.
   100         revision bellow tiprev.
   101 
   101 
   102         To detect such difference, we build a cache of all ignored revisions.
   102         To detect such difference, we build a cache of all ignored revisions.
   103         """
   103         """
   112                 s.update('%s;' % rev)
   112                 s.update('%s;' % rev)
   113             key = s.digest()
   113             key = s.digest()
   114         return key
   114         return key
   115 
   115 
   116     def validfor(self, repo):
   116     def validfor(self, repo):
   117         """Is the cache content valide regarding a repo
   117         """Is the cache content valid regarding a repo
   118 
   118 
   119         - False when cached tipnode are unknown or if we detect a strip.
   119         - False when cached tipnode is unknown or if we detect a strip.
   120         - True when cache is up to date or a subset of current repo."""
   120         - True when cache is up to date or a subset of current repo."""
   121         try:
   121         try:
   122             return ((self.tipnode == repo.changelog.node(self.tiprev))
   122             return ((self.tipnode == repo.changelog.node(self.tiprev))
   123                     and (self.filteredhash == self._hashfiltered(repo)))
   123                     and (self.filteredhash == self._hashfiltered(repo)))
   124         except IndexError:
   124         except IndexError: