[PATCH 09 of 10] bundlerepo: make __init__ more like revlog.addgroup
Mads Kiilerich
mads at kiilerich.com
Wed Jan 16 19:57:33 UTC 2013
# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1358365301 -3600
# Node ID 52c0ec0dbbe5cae4daeb33d0a3591e6240e9054e
# Parent 61031b4e9ac4ab381814398489771f53f0ca9751
bundlerepo: make __init__ more like revlog.addgroup
- just to prove there is duplicate code.
diff --git a/mercurial/bundlerepo.py b/mercurial/bundlerepo.py
--- a/mercurial/bundlerepo.py
+++ b/mercurial/bundlerepo.py
@@ -33,8 +33,9 @@
self.bundle = bundle
self.basemap = {} # mapping rev to delta base rev
n = len(self)
+ self.bundlerevs = set() # used by 'bundle()' revset expression
+
chain = None
- self.bundlerevs = set() # used by 'bundle()' revset expression
while True:
chunkdata = bundle.deltachunk(chain)
if not chunkdata:
@@ -46,9 +47,6 @@
deltabase = chunkdata['deltabase']
delta = chunkdata['delta']
- size = len(delta)
- start = bundle.tell() - size
-
link = linkmapper(cs)
if node in self.nodemap:
# this can happen if two branches make the same change
@@ -59,13 +57,18 @@
for p in (p1, p2):
if p not in self.nodemap:
raise error.LookupError(p, self.indexfile,
- _("unknown parent"))
+ _('unknown parent'))
if deltabase not in self.nodemap:
raise LookupError(deltabase, self.indexfile,
_('unknown delta base'))
baserev = self.rev(deltabase)
+ chain = node
+
+ size = len(delta)
+ start = bundle.tell() - size
+
# start, size, full unc. size, base (unused), link, p1, p2, node
e = (revlog.offset_type(start, 0), size, -1, -1, link,
self.rev(p1), self.rev(p2), node)
@@ -73,7 +76,6 @@
self.index.insert(-1, e)
self.nodemap[node] = n
self.bundlerevs.add(n)
- chain = node
n += 1
def _chunk(self, rev):
More information about the Mercurial-devel
mailing list