568 |
568 |
569 def __len__(self): |
569 def __len__(self): |
570 return len(self._all) |
570 return len(self._all) |
571 |
571 |
572 def __nonzero__(self): |
572 def __nonzero__(self): |
573 if not self._cached('_all'): |
573 if not self._cached(r'_all'): |
574 try: |
574 try: |
575 return self.svfs.stat('obsstore').st_size > 1 |
575 return self.svfs.stat('obsstore').st_size > 1 |
576 except OSError as inst: |
576 except OSError as inst: |
577 if inst.errno != errno.ENOENT: |
577 if inst.errno != errno.ENOENT: |
578 raise |
578 raise |
725 |
725 |
726 def _addmarkers(self, markers, rawdata): |
726 def _addmarkers(self, markers, rawdata): |
727 markers = list(markers) # to allow repeated iteration |
727 markers = list(markers) # to allow repeated iteration |
728 self._data = self._data + rawdata |
728 self._data = self._data + rawdata |
729 self._all.extend(markers) |
729 self._all.extend(markers) |
730 if self._cached('successors'): |
730 if self._cached(r'successors'): |
731 _addsuccessors(self.successors, markers) |
731 _addsuccessors(self.successors, markers) |
732 if self._cached('predecessors'): |
732 if self._cached(r'predecessors'): |
733 _addpredecessors(self.predecessors, markers) |
733 _addpredecessors(self.predecessors, markers) |
734 if self._cached('children'): |
734 if self._cached(r'children'): |
735 _addchildren(self.children, markers) |
735 _addchildren(self.children, markers) |
736 _checkinvalidmarkers(markers) |
736 _checkinvalidmarkers(markers) |
737 |
737 |
738 def relevantmarkers(self, nodes): |
738 def relevantmarkers(self, nodes): |
739 """return a set of all obsolescence markers relevant to a set of nodes. |
739 """return a set of all obsolescence markers relevant to a set of nodes. |