mercurial/revlog.py
changeset 653 94cdd02792b5
parent 651 08b65d66f3e7
child 655 b3bba126b04a
equal deleted inserted replaced
652:a54a1c101a9a 653:94cdd02792b5
   473         # track the base of the current delta log
   473         # track the base of the current delta log
   474         r = self.count()
   474         r = self.count()
   475         t = r - 1
   475         t = r - 1
   476         node = nullid
   476         node = nullid
   477 
   477 
   478         base = prev = -1
   478         base = -1
   479         start = end = 0
   479         start = end = measure = 0
   480         if r:
   480         if r:
   481             start = self.start(self.base(t))
   481             start = self.start(self.base(t))
   482             end = self.end(t)
   482             end = self.end(t)
   483             measure = self.length(self.base(t))
   483             measure = self.length(self.base(t))
   484             base = self.base(t)
   484             base = self.base(t)
   489         dfh = self.opener(self.datafile, "a")
   489         dfh = self.opener(self.datafile, "a")
   490         ifh = self.opener(self.indexfile, "a")
   490         ifh = self.opener(self.indexfile, "a")
   491 
   491 
   492         # loop through our set of deltas
   492         # loop through our set of deltas
   493         chain = None
   493         chain = None
       
   494         prev = self.tip()
   494         for chunk in revs:
   495         for chunk in revs:
   495             node, p1, p2, cs = struct.unpack("20s20s20s20s", chunk[:80])
   496             node, p1, p2, cs = struct.unpack("20s20s20s20s", chunk[:80])
   496             link = linkmapper(cs)
   497             link = linkmapper(cs)
   497             if node in self.nodemap:
   498             if node in self.nodemap:
   498                 # this can happen if two branches make the same change
   499                 # this can happen if two branches make the same change
   499                 if unique:
   500                 if unique:
   500                     raise "already have %s" % hex(node[:4])
   501                     raise "already have %s" % hex(node[:4])
       
   502                 chain = node
   501                 continue
   503                 continue
   502             delta = chunk[80:]
   504             delta = chunk[80:]
   503 
   505 
   504             if not chain:
   506             if not chain:
   505                 # retrieve the parent revision of the delta chain
   507                 # retrieve the parent revision of the delta chain