mercurial/changelog.py
changeset 51086 c3748f38dcd0
parent 51029 498afb627f78
child 51102 594f912818ab
equal deleted inserted replaced
51085:118c99c6092b 51086:c3748f38dcd0
   457             else:
   457             else:
   458                 self._delaybuf = []
   458                 self._delaybuf = []
   459                 self.opener = _delayopener(
   459                 self.opener = _delayopener(
   460                     self._realopener, self._indexfile, self._delaybuf
   460                     self._realopener, self._indexfile, self._delaybuf
   461                 )
   461                 )
   462             self._segmentfile.opener = self.opener
   462             self._inner.opener = self.opener
   463             self._segmentfile_sidedata.opener = self.opener
   463             self._inner._segmentfile.opener = self.opener
       
   464             self._inner._segmentfile_sidedata.opener = self.opener
   464         self._delayed = True
   465         self._delayed = True
   465         tr.addpending(b'cl-%i' % id(self), self._writepending)
   466         tr.addpending(b'cl-%i' % id(self), self._writepending)
   466         tr.addfinalize(b'cl-%i' % id(self), self._finalize)
   467         tr.addfinalize(b'cl-%i' % id(self), self._finalize)
   467 
   468 
   468     def _finalize(self, tr):
   469     def _finalize(self, tr):
   469         """finalize index updates"""
   470         """finalize index updates"""
   470         self._delayed = False
   471         self._delayed = False
   471         self.opener = self._realopener
   472         self.opener = self._realopener
   472         self._segmentfile.opener = self.opener
   473         self._inner.opener = self.opener
   473         self._segmentfile_sidedata.opener = self.opener
   474         self._inner._segmentfile.opener = self.opener
       
   475         self._inner._segmentfile_sidedata.opener = self.opener
   474         # move redirected index data back into place
   476         # move redirected index data back into place
   475         if self._docket is not None:
   477         if self._docket is not None:
   476             self._write_docket(tr)
   478             self._write_docket(tr)
   477         elif self._divert:
   479         elif self._divert:
   478             assert not self._delaybuf
   480             assert not self._delaybuf
   508             fp2.close()
   510             fp2.close()
   509             # switch modes so finalize can simply rename
   511             # switch modes so finalize can simply rename
   510             self._delaybuf = None
   512             self._delaybuf = None
   511             self._divert = True
   513             self._divert = True
   512             self.opener = _divertopener(self._realopener, self._indexfile)
   514             self.opener = _divertopener(self._realopener, self._indexfile)
   513             self._segmentfile.opener = self.opener
   515             self._inner.opener = self.opener
   514             self._segmentfile_sidedata.opener = self.opener
   516             self._inner._segmentfile.opener = self.opener
       
   517             self._inner._segmentfile_sidedata.opener = self.opener
   515 
   518 
   516         if self._divert:
   519         if self._divert:
   517             return True
   520             return True
   518 
   521 
   519         return False
   522         return False