Show More
@@ -2089,51 +2089,56 b' def debugbundle(ui, bundlepath, all=None' | |||||
2089 | gen = exchange.readbundle(ui, f, bundlepath) |
|
2089 | gen = exchange.readbundle(ui, f, bundlepath) | |
2090 | if isinstance(gen, bundle2.unbundle20): |
|
2090 | if isinstance(gen, bundle2.unbundle20): | |
2091 | return _debugbundle2(ui, gen, all=all, **opts) |
|
2091 | return _debugbundle2(ui, gen, all=all, **opts) | |
2092 | if all: |
|
2092 | _debugchangegroup(ui, gen, all=all, **opts) | |
2093 | ui.write(("format: id, p1, p2, cset, delta base, len(delta)\n")) |
|
2093 | ||
2094 |
|
2094 | def _debugchangegroup(ui, gen, all=None, indent=0, **opts): | ||
2095 | def showchunks(named): |
|
2095 | indent_string = ' ' * indent | |
2096 | ui.write("\n%s\n" % named) |
|
2096 | if all: | |
2097 | chain = None |
|
2097 | ui.write("%sformat: id, p1, p2, cset, delta base, len(delta)\n" | |
2098 |
|
|
2098 | % indent_string) | |
2099 | chunkdata = gen.deltachunk(chain) |
|
2099 | ||
2100 | if not chunkdata: |
|
2100 | def showchunks(named): | |
2101 | break |
|
2101 | ui.write("\n%s%s\n" % (indent_string, named)) | |
2102 | node = chunkdata['node'] |
|
|||
2103 | p1 = chunkdata['p1'] |
|
|||
2104 | p2 = chunkdata['p2'] |
|
|||
2105 | cs = chunkdata['cs'] |
|
|||
2106 | deltabase = chunkdata['deltabase'] |
|
|||
2107 | delta = chunkdata['delta'] |
|
|||
2108 | ui.write("%s %s %s %s %s %s\n" % |
|
|||
2109 | (hex(node), hex(p1), hex(p2), |
|
|||
2110 | hex(cs), hex(deltabase), len(delta))) |
|
|||
2111 | chain = node |
|
|||
2112 |
|
||||
2113 | chunkdata = gen.changelogheader() |
|
|||
2114 | showchunks("changelog") |
|
|||
2115 | chunkdata = gen.manifestheader() |
|
|||
2116 | showchunks("manifest") |
|
|||
2117 | while True: |
|
|||
2118 | chunkdata = gen.filelogheader() |
|
|||
2119 | if not chunkdata: |
|
|||
2120 | break |
|
|||
2121 | fname = chunkdata['filename'] |
|
|||
2122 | showchunks(fname) |
|
|||
2123 | else: |
|
|||
2124 | if isinstance(gen, bundle2.unbundle20): |
|
|||
2125 | raise error.Abort(_('use debugbundle2 for this file')) |
|
|||
2126 | chunkdata = gen.changelogheader() |
|
|||
2127 | chain = None |
|
2102 | chain = None | |
2128 | while True: |
|
2103 | while True: | |
2129 | chunkdata = gen.deltachunk(chain) |
|
2104 | chunkdata = gen.deltachunk(chain) | |
2130 | if not chunkdata: |
|
2105 | if not chunkdata: | |
2131 | break |
|
2106 | break | |
2132 | node = chunkdata['node'] |
|
2107 | node = chunkdata['node'] | |
2133 | ui.write("%s\n" % hex(node)) |
|
2108 | p1 = chunkdata['p1'] | |
|
2109 | p2 = chunkdata['p2'] | |||
|
2110 | cs = chunkdata['cs'] | |||
|
2111 | deltabase = chunkdata['deltabase'] | |||
|
2112 | delta = chunkdata['delta'] | |||
|
2113 | ui.write("%s%s %s %s %s %s %s\n" % | |||
|
2114 | (indent_string, hex(node), hex(p1), hex(p2), | |||
|
2115 | hex(cs), hex(deltabase), len(delta))) | |||
2134 | chain = node |
|
2116 | chain = node | |
2135 |
|
2117 | |||
2136 | def _debugbundle2(ui, gen, **opts): |
|
2118 | chunkdata = gen.changelogheader() | |
|
2119 | showchunks("changelog") | |||
|
2120 | chunkdata = gen.manifestheader() | |||
|
2121 | showchunks("manifest") | |||
|
2122 | while True: | |||
|
2123 | chunkdata = gen.filelogheader() | |||
|
2124 | if not chunkdata: | |||
|
2125 | break | |||
|
2126 | fname = chunkdata['filename'] | |||
|
2127 | showchunks(fname) | |||
|
2128 | else: | |||
|
2129 | if isinstance(gen, bundle2.unbundle20): | |||
|
2130 | raise error.Abort(_('use debugbundle2 for this file')) | |||
|
2131 | chunkdata = gen.changelogheader() | |||
|
2132 | chain = None | |||
|
2133 | while True: | |||
|
2134 | chunkdata = gen.deltachunk(chain) | |||
|
2135 | if not chunkdata: | |||
|
2136 | break | |||
|
2137 | node = chunkdata['node'] | |||
|
2138 | ui.write("%s%s\n" % (indent_string, hex(node))) | |||
|
2139 | chain = node | |||
|
2140 | ||||
|
2141 | def _debugbundle2(ui, gen, all=None, **opts): | |||
2137 | """lists the contents of a bundle2""" |
|
2142 | """lists the contents of a bundle2""" | |
2138 | if not isinstance(gen, bundle2.unbundle20): |
|
2143 | if not isinstance(gen, bundle2.unbundle20): | |
2139 | raise error.Abort(_('not a bundle2 file')) |
|
2144 | raise error.Abort(_('not a bundle2 file')) | |
@@ -2143,15 +2148,7 b' def _debugbundle2(ui, gen, **opts):' | |||||
2143 | if part.type == 'changegroup': |
|
2148 | if part.type == 'changegroup': | |
2144 | version = part.params.get('version', '01') |
|
2149 | version = part.params.get('version', '01') | |
2145 | cg = changegroup.getunbundler(version, part, 'UN') |
|
2150 | cg = changegroup.getunbundler(version, part, 'UN') | |
2146 | chunkdata = cg.changelogheader() |
|
2151 | _debugchangegroup(ui, cg, all=all, indent=4, **opts) | |
2147 | chain = None |
|
|||
2148 | while True: |
|
|||
2149 | chunkdata = cg.deltachunk(chain) |
|
|||
2150 | if not chunkdata: |
|
|||
2151 | break |
|
|||
2152 | node = chunkdata['node'] |
|
|||
2153 | ui.write(" %s\n" % hex(node)) |
|
|||
2154 | chain = node |
|
|||
2155 |
|
2152 | |||
2156 | @command('debugcreatestreamclonebundle', [], 'FILE') |
|
2153 | @command('debugcreatestreamclonebundle', [], 'FILE') | |
2157 | def debugcreatestreamclonebundle(ui, repo, fname): |
|
2154 | def debugcreatestreamclonebundle(ui, repo, fname): |
General Comments 0
You need to be logged in to leave comments.
Login now