equal
deleted
inserted
replaced
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: |