Show More
@@ -40,45 +40,45 b' Create an extension to test bundle2 remo' | |||||
40 | > Python expression as parameters. The Python expression is |
|
40 | > Python expression as parameters. The Python expression is | |
41 | > evaluated with eval, and is expected to be a dict. |
|
41 | > evaluated with eval, and is expected to be a dict. | |
42 | > """ |
|
42 | > """ | |
43 |
> def newpart(name, data='' |
|
43 | > def newpart(name, data=b''): | |
44 | > """wrapper around bundler.newpart adding an extra part making the |
|
44 | > """wrapper around bundler.newpart adding an extra part making the | |
45 | > client output information about each processed part""" |
|
45 | > client output information about each processed part""" | |
46 |
> bundler.newpart('output', data=name |
|
46 | > bundler.newpart(b'output', data=name) | |
47 |
> part = bundler.newpart(name, data=data |
|
47 | > part = bundler.newpart(name, data=data) | |
48 | > return part |
|
48 | > return part | |
49 | > |
|
49 | > | |
50 | > for line in open(repo.vfs.join('bundle2maker'), 'rb'): |
|
50 | > for line in open(repo.vfs.join(b'bundle2maker'), 'rb'): | |
51 | > line = line.strip() |
|
51 | > line = line.strip() | |
52 | > try: |
|
52 | > try: | |
53 | > verb, args = line.split(None, 1) |
|
53 | > verb, args = line.split(None, 1) | |
54 | > except ValueError: |
|
54 | > except ValueError: | |
55 | > verb, args = line, '' |
|
55 | > verb, args = line, b'' | |
56 | > if verb == 'remote-changegroup': |
|
56 | > if verb == b'remote-changegroup': | |
57 | > url, file = args.split() |
|
57 | > url, file = args.split() | |
58 | > bundledata = open(file, 'rb').read() |
|
58 | > bundledata = open(file, 'rb').read() | |
59 | > digest = util.digester.preferred(b2caps['digests']) |
|
59 | > digest = util.digester.preferred(b2caps[b'digests']) | |
60 | > d = util.digester([digest], bundledata) |
|
60 | > d = util.digester([digest], bundledata) | |
61 | > part = newpart('remote-changegroup') |
|
61 | > part = newpart(b'remote-changegroup') | |
62 | > part.addparam('url', url) |
|
62 | > part.addparam(b'url', url) | |
63 | > part.addparam('size', str(len(bundledata))) |
|
63 | > part.addparam(b'size', str(len(bundledata))) | |
64 | > part.addparam('digests', digest) |
|
64 | > part.addparam(b'digests', digest) | |
65 | > part.addparam('digest:%s' % digest, d[digest]) |
|
65 | > part.addparam(b'digest:%s' % digest, d[digest]) | |
66 | > elif verb == 'raw-remote-changegroup': |
|
66 | > elif verb == b'raw-remote-changegroup': | |
67 | > part = newpart('remote-changegroup') |
|
67 | > part = newpart(b'remote-changegroup') | |
68 | > for k, v in eval(args).items(): |
|
68 | > for k, v in eval(args).items(): | |
69 | > part.addparam(k, str(v)) |
|
69 | > part.addparam(k, str(v)) | |
70 | > elif verb == 'changegroup': |
|
70 | > elif verb == b'changegroup': | |
71 | > _common, heads = args.split() |
|
71 | > _common, heads = args.split() | |
72 | > common.extend(repo[r].node() for r in repo.revs(_common)) |
|
72 | > common.extend(repo[r].node() for r in repo.revs(_common)) | |
73 | > heads = [repo[r].node() for r in repo.revs(heads)] |
|
73 | > heads = [repo[r].node() for r in repo.revs(heads)] | |
74 | > outgoing = discovery.outgoing(repo, common, heads) |
|
74 | > outgoing = discovery.outgoing(repo, common, heads) | |
75 | > cg = changegroup.makechangegroup(repo, outgoing, '01', |
|
75 | > cg = changegroup.makechangegroup(repo, outgoing, b'01', | |
76 | > 'changegroup') |
|
76 | > b'changegroup') | |
77 | > newpart('changegroup', cg.getchunks()) |
|
77 | > newpart(b'changegroup', cg.getchunks()) | |
78 | > else: |
|
78 | > else: | |
79 | > raise Exception('unknown verb') |
|
79 | > raise Exception('unknown verb') | |
80 | > |
|
80 | > | |
81 | > exchange.getbundle2partsmapping['changegroup'] = _getbundlechangegrouppart |
|
81 | > exchange.getbundle2partsmapping[b'changegroup'] = _getbundlechangegrouppart | |
82 | > EOF |
|
82 | > EOF | |
83 |
|
83 | |||
84 | Start a simple HTTP server to serve bundles |
|
84 | Start a simple HTTP server to serve bundles |
General Comments 0
You need to be logged in to leave comments.
Login now