Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/localrepo.py @ 13723:e615765fdcc7
wireproto: add known([id]) function
known([Node]) -> [1/0]
Returns 1/0 for each node, indicating whether it's known by the server.
Needed for new discovery protocols introduced in later patches.
author | Peter Arrenbrecht <peter.arrenbrecht@gmail.com> |
---|---|
date | Tue, 22 Mar 2011 09:22:21 +0100 |
parents | 9c4e04fe267e |
children | b51bf961b3cb |
comparison
equal
deleted
inserted
replaced
13722:f4a85acef50c | 13723:e615765fdcc7 |
---|---|
18 from lock import release | 18 from lock import release |
19 import weakref, errno, os, time, inspect | 19 import weakref, errno, os, time, inspect |
20 propertycache = util.propertycache | 20 propertycache = util.propertycache |
21 | 21 |
22 class localrepository(repo.repository): | 22 class localrepository(repo.repository): |
23 capabilities = set(('lookup', 'changegroupsubset', 'branchmap', 'pushkey')) | 23 capabilities = set(('lookup', 'changegroupsubset', 'branchmap', 'pushkey', |
24 'known')) | |
24 supportedformats = set(('revlogv1', 'parentdelta')) | 25 supportedformats = set(('revlogv1', 'parentdelta')) |
25 supported = supportedformats | set(('store', 'fncache', 'shared', | 26 supported = supportedformats | set(('store', 'fncache', 'shared', |
26 'dotencode')) | 27 'dotencode')) |
27 | 28 |
28 def __init__(self, baseui, path=None, create=0): | 29 def __init__(self, baseui, path=None, create=0): |
555 if key in repo.branchmap(): | 556 if key in repo.branchmap(): |
556 return key | 557 return key |
557 | 558 |
558 repo = (remote and remote.local()) and remote or self | 559 repo = (remote and remote.local()) and remote or self |
559 return repo[key].branch() | 560 return repo[key].branch() |
561 | |
562 def known(self, nodes): | |
563 nm = self.changelog.nodemap | |
564 return [(n in nm) for n in nodes] | |
560 | 565 |
561 def local(self): | 566 def local(self): |
562 return True | 567 return True |
563 | 568 |
564 def join(self, f): | 569 def join(self, f): |