equal
deleted
inserted
replaced
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 |