comparison mercurial/logexchange.py @ 37639:0e50dda7e9c1

logexchange: use command executor for wire protocol commands Differential Revision: https://phab.mercurial-scm.org/D3290
author Gregory Szorc <gregory.szorc@gmail.com>
date Fri, 13 Apr 2018 11:14:54 -0700
parents 1ccd75027abb
children bbdc1bc56e58
comparison
equal deleted inserted replaced
37638:65b86ee69383 37639:0e50dda7e9c1
125 pull or clone operation. 125 pull or clone operation.
126 localrepo is our local repository 126 localrepo is our local repository
127 remoterepo is the peer instance 127 remoterepo is the peer instance
128 """ 128 """
129 remotepath = activepath(localrepo, remoterepo) 129 remotepath = activepath(localrepo, remoterepo)
130 bookmarks = remoterepo.listkeys('bookmarks') 130
131 with remoterepo.commandexecutor() as e:
132 bookmarks = e.callcommand('listkeys', {
133 'namespace': 'bookmarks',
134 }).result()
135
131 # on a push, we don't want to keep obsolete heads since 136 # on a push, we don't want to keep obsolete heads since
132 # they won't show up as heads on the next pull, so we 137 # they won't show up as heads on the next pull, so we
133 # remove them here otherwise we would require the user 138 # remove them here otherwise we would require the user
134 # to issue a pull to refresh the storage 139 # to issue a pull to refresh the storage
135 bmap = {} 140 bmap = {}
136 repo = localrepo.unfiltered() 141 repo = localrepo.unfiltered()
137 for branch, nodes in remoterepo.branchmap().iteritems(): 142
143 with remoterepo.commandexecutor() as e:
144 branchmap = e.callcommand('branchmap', {}).result()
145
146 for branch, nodes in branchmap.iteritems():
138 bmap[branch] = [] 147 bmap[branch] = []
139 for node in nodes: 148 for node in nodes:
140 if node in repo and not repo[node].obsolete(): 149 if node in repo and not repo[node].obsolete():
141 bmap[branch].append(hex(node)) 150 bmap[branch].append(hex(node))
142 151