diff mercurial/commands.py @ 14144:3c3c53d8343a

unbundler: separate delta and header parsing Add header parsing for changelog and manifest (currently no headers might change for next-gen bundle).
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Sat, 30 Apr 2011 19:01:24 +0200
parents bd1cbfe5db5c
children a8f136f430da
line wrap: on
line diff
--- a/mercurial/commands.py	Sat Apr 30 11:03:28 2011 +0200
+++ b/mercurial/commands.py	Sat Apr 30 19:01:24 2011 +0200
@@ -1220,7 +1220,7 @@
                 ui.write("\n%s\n" % named)
                 chain = None
                 while 1:
-                    chunkdata = gen.parsechunk(chain)
+                    chunkdata = gen.deltachunk(chain)
                     if not chunkdata:
                         break
                     node = chunkdata['node']
@@ -1234,17 +1234,21 @@
                               hex(cs), hex(deltabase), len(delta)))
                     chain = node
 
+            chunkdata = gen.changelogheader()
             showchunks("changelog")
+            chunkdata = gen.manifestheader()
             showchunks("manifest")
             while 1:
-                fname = gen.chunk()
-                if not fname:
+                chunkdata = gen.filelogheader()
+                if not chunkdata:
                     break
+                fname = chunkdata['filename']
                 showchunks(fname)
         else:
+            chunkdata = gen.changelogheader()
             chain = None
             while 1:
-                chunkdata = gen.parsechunk(chain)
+                chunkdata = gen.deltachunk(chain)
                 if not chunkdata:
                     break
                 node = chunkdata['node']