Mercurial > evolve
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)] |