mercurial/obsolete.py
changeset 17073 3a79a5682af1
parent 17072 517af63ba382
child 17075 28ed1c4511ce
equal deleted inserted replaced
17072:517af63ba382 17073:3a79a5682af1
   161         # new markers to serialize
   161         # new markers to serialize
   162         self._new = []
   162         self._new = []
   163         self.precursors = {}
   163         self.precursors = {}
   164         self.successors = {}
   164         self.successors = {}
   165 
   165 
       
   166     def __iter__(self):
       
   167         return iter(self._all)
       
   168 
   166     def create(self, prec, succs=(), flag=0, metadata=None):
   169     def create(self, prec, succs=(), flag=0, metadata=None):
   167         """obsolete: add a new obsolete marker
   170         """obsolete: add a new obsolete marker
   168 
   171 
   169         * ensuring it is hashable
   172         * ensuring it is hashable
   170         * check mandatory metadata
   173         * check mandatory metadata
   216             format = _fmfixed + (_fmnode * nbsuc)
   219             format = _fmfixed + (_fmnode * nbsuc)
   217             data = [nbsuc, len(metadata), flags, pre]
   220             data = [nbsuc, len(metadata), flags, pre]
   218             data.extend(sucs)
   221             data.extend(sucs)
   219             stream.write(_pack(format, *data))
   222             stream.write(_pack(format, *data))
   220             stream.write(metadata)
   223             stream.write(metadata)
       
   224 
       
   225 
       
   226 
       
   227 def allmarkers(repo):
       
   228     """all obsolete markers known in a repository"""
       
   229     for markerdata in repo.obsstore:
       
   230         yield marker(repo, markerdata)
       
   231