equal
deleted
inserted
replaced
5 # This software may be used and distributed according to the terms of the |
5 # This software may be used and distributed according to the terms of the |
6 # GNU General Public License version 2 or any later version. |
6 # GNU General Public License version 2 or any later version. |
7 |
7 |
8 from __future__ import absolute_import |
8 from __future__ import absolute_import |
9 |
9 |
|
10 import binascii |
10 import os |
11 import os |
11 |
12 |
12 from .i18n import _ |
13 from .i18n import _ |
13 from .node import ( |
14 from .node import ( |
14 hex, |
15 hex, |
342 - Every leaf of the bundle's DAG is part of node set the client wants. |
343 - Every leaf of the bundle's DAG is part of node set the client wants. |
343 E.g. do not send a bundle of all changes if the client wants only |
344 E.g. do not send a bundle of all changes if the client wants only |
344 one specific branch of many. |
345 one specific branch of many. |
345 """ |
346 """ |
346 def decodehexstring(s): |
347 def decodehexstring(s): |
347 return set([h.decode('hex') for h in s.split(';')]) |
348 return set([binascii.unhexlify(h) for h in s.split(';')]) |
348 |
349 |
349 manifest = repo.vfs.tryread('pullbundles.manifest') |
350 manifest = repo.vfs.tryread('pullbundles.manifest') |
350 if not manifest: |
351 if not manifest: |
351 return None |
352 return None |
352 res = exchange.parseclonebundlesmanifest(repo, manifest) |
353 res = exchange.parseclonebundlesmanifest(repo, manifest) |