mercurial/changelog.py
changeset 6750 fb42030d79d6
parent 6259 d60aa0308b02
child 6762 f67d1468ac50
equal deleted inserted replaced
6749:51b0e799352f 6750:fb42030d79d6
    80 
    80 
    81     def delayupdate(self):
    81     def delayupdate(self):
    82         "delay visibility of index updates to other readers"
    82         "delay visibility of index updates to other readers"
    83         self._realopener = self.opener
    83         self._realopener = self.opener
    84         self.opener = self._delayopener
    84         self.opener = self._delayopener
    85         self._delaycount = self.count()
    85         self._delaycount = len(self)
    86         self._delaybuf = []
    86         self._delaybuf = []
    87         self._delayname = None
    87         self._delayname = None
    88 
    88 
    89     def finalize(self, tr):
    89     def finalize(self, tr):
    90         "finalize index updates"
    90         "finalize index updates"
   106         if not name == self.indexfile:
   106         if not name == self.indexfile:
   107             return fp
   107             return fp
   108         # if we're doing an initial clone, divert to another file
   108         # if we're doing an initial clone, divert to another file
   109         if self._delaycount == 0:
   109         if self._delaycount == 0:
   110             self._delayname = fp.name
   110             self._delayname = fp.name
   111             if not self.count():
   111             if not len(self):
   112                 # make sure to truncate the file
   112                 # make sure to truncate the file
   113                 mode = mode.replace('a', 'w')
   113                 mode = mode.replace('a', 'w')
   114             return self._realopener(name + ".a", mode)
   114             return self._realopener(name + ".a", mode)
   115         # otherwise, divert to memory
   115         # otherwise, divert to memory
   116         return appender(fp, self._delaybuf)
   116         return appender(fp, self._delaybuf)
   190             extra = self.encode_extra(extra)
   190             extra = self.encode_extra(extra)
   191             parseddate = "%s %s" % (parseddate, extra)
   191             parseddate = "%s %s" % (parseddate, extra)
   192         list.sort()
   192         list.sort()
   193         l = [hex(manifest), user, parseddate] + list + ["", desc]
   193         l = [hex(manifest), user, parseddate] + list + ["", desc]
   194         text = "\n".join(l)
   194         text = "\n".join(l)
   195         return self.addrevision(text, transaction, self.count(), p1, p2)
   195         return self.addrevision(text, transaction, len(self), p1, p2)