mercurial/changelog.py
changeset 23281 f60ed8cf4afc
parent 23280 b01c491af0cf
child 23292 e44399c494ab
equal deleted inserted replaced
23280:b01c491af0cf 23281:f60ed8cf4afc
     3 # Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
     3 # Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
     4 #
     4 #
     5 # This software may be used and distributed according to the terms of the
     5 # This software may be used and distributed according to the terms of the
     6 # GNU General Public License version 2 or any later version.
     6 # GNU General Public License version 2 or any later version.
     7 
     7 
     8 import weakref
       
     9 from node import bin, hex, nullid
     8 from node import bin, hex, nullid
    10 from i18n import _
     9 from i18n import _
    11 import util, error, revlog, encoding
    10 import util, error, revlog, encoding
    12 
    11 
    13 _defaultextra = {'branch': 'default'}
    12 _defaultextra = {'branch': 'default'}
   238                 self._delaybuf = []
   237                 self._delaybuf = []
   239                 self.opener = _delayopener(self._realopener, self.indexfile,
   238                 self.opener = _delayopener(self._realopener, self.indexfile,
   240                                            self._delaybuf)
   239                                            self._delaybuf)
   241         self._delayed = True
   240         self._delayed = True
   242         tr.addpending('cl-%i' % id(self), self._writepending)
   241         tr.addpending('cl-%i' % id(self), self._writepending)
   243         trp = weakref.proxy(tr)
   242         tr.addfinalize('cl-%i' % id(self), self._finalize)
   244         tr.addfinalize('cl-%i' % id(self), lambda: self._finalize(trp))
       
   245 
   243 
   246     def _finalize(self, tr):
   244     def _finalize(self, tr):
   247         "finalize index updates"
   245         "finalize index updates"
   248         self._delayed = False
   246         self._delayed = False
   249         self.opener = self._realopener
   247         self.opener = self._realopener