comparison hgext3rd/evolve/hack/directaccess.py @ 2893:0938f3a09a1e

directaccess: fix with tree without order 1b28525e6698 removes order from tree, changing the indexes in gethashsymbols. Fix that
author Boris Feld <boris.feld@octobus.net>
date Thu, 31 Aug 2017 17:00:09 +0200
parents 2b53a2a21bbb
children
comparison
equal deleted inserted replaced
2892:0eed6678b150 2893:0938f3a09a1e
153 # for example for the revset 3::abe3ff it will return ('abe3ff') 153 # for example for the revset 3::abe3ff it will return ('abe3ff')
154 if not tree: 154 if not tree:
155 return [] 155 return []
156 156
157 results = [] 157 results = []
158 if len(tree) == 2 and tree[0] == "symbol": 158 if len(tree) in (2, 3) and tree[0] == "symbol":
159 results.append(tree[1]) 159 results.append(tree[1])
160 elif tree[0] == "func" and tree[1] == _listtuple: 160 elif tree[0] == "func" and tree[1] == _listtuple:
161 # the optimiser will group sequence of hash request 161 # the optimiser will group sequence of hash request
162 results += tree[2][1].split('\0') 162 results += tree[2][1].split('\0')
163 elif len(tree) >= 3: 163 elif len(tree) >= 2:
164 for subtree in tree[1:]: 164 for subtree in tree[1:]:
165 results += gethashsymbols(subtree, maxrev) 165 results += gethashsymbols(subtree, maxrev)
166 # return directly, we don't need to filter symbols again 166 # return directly, we don't need to filter symbols again
167 return results 167 return results
168 return [s for s in results if _ishashsymbol(s, maxrev)] 168 return [s for s in results if _ishashsymbol(s, maxrev)]