mercurial/changelog.py
changeset 47425 e0a314bcbc9d
parent 47385 9d9eb22b9b69
child 47426 cac0e0621ceb
equal deleted inserted replaced
47424:f77404040776 47425:e0a314bcbc9d
   452             else:
   452             else:
   453                 self._delaybuf = []
   453                 self._delaybuf = []
   454                 self.opener = _delayopener(
   454                 self.opener = _delayopener(
   455                     self._realopener, self._indexfile, self._delaybuf
   455                     self._realopener, self._indexfile, self._delaybuf
   456                 )
   456                 )
       
   457             self._segmentfile.opener = self.opener
   457         self._delayed = True
   458         self._delayed = True
   458         tr.addpending(b'cl-%i' % id(self), self._writepending)
   459         tr.addpending(b'cl-%i' % id(self), self._writepending)
   459         tr.addfinalize(b'cl-%i' % id(self), self._finalize)
   460         tr.addfinalize(b'cl-%i' % id(self), self._finalize)
   460 
   461 
   461     def _finalize(self, tr):
   462     def _finalize(self, tr):
   462         """finalize index updates"""
   463         """finalize index updates"""
   463         self._delayed = False
   464         self._delayed = False
   464         self.opener = self._realopener
   465         self.opener = self._realopener
       
   466         self._segmentfile.opener = self.opener
   465         # move redirected index data back into place
   467         # move redirected index data back into place
   466         if self._docket is not None:
   468         if self._docket is not None:
   467             self._write_docket(tr)
   469             self._write_docket(tr)
   468         elif self._divert:
   470         elif self._divert:
   469             assert not self._delaybuf
   471             assert not self._delaybuf
   499             fp2.close()
   501             fp2.close()
   500             # switch modes so finalize can simply rename
   502             # switch modes so finalize can simply rename
   501             self._delaybuf = None
   503             self._delaybuf = None
   502             self._divert = True
   504             self._divert = True
   503             self.opener = _divertopener(self._realopener, self._indexfile)
   505             self.opener = _divertopener(self._realopener, self._indexfile)
       
   506             self._segmentfile.opener = self.opener
   504 
   507 
   505         if self._divert:
   508         if self._divert:
   506             return True
   509             return True
   507 
   510 
   508         return False
   511         return False