comparison mercurial/hgweb/webcommands.py @ 20364:a6cf48b2880d

revset: added baseset class (still empty) to improve revset performance This class is going to be used to cache the set that is created from this list in many cases while evaluating a revset.
author Lucas Moscovicz <lmoscovicz@fb.com>
date Tue, 21 Jan 2014 11:39:26 -0800
parents 9985e188d940
children da6bea33007b
comparison
equal deleted inserted replaced
20363:e3ee7ec85a15 20364:a6cf48b2880d
185 if not funcsused.issubset(revset.safesymbols): 185 if not funcsused.issubset(revset.safesymbols):
186 return MODE_KEYWORD, query 186 return MODE_KEYWORD, query
187 187
188 mfunc = revset.match(web.repo.ui, revdef) 188 mfunc = revset.match(web.repo.ui, revdef)
189 try: 189 try:
190 revs = mfunc(web.repo, list(web.repo)) 190 revs = mfunc(web.repo, revset.baseset(web.repo))
191 return MODE_REVSET, revs 191 return MODE_REVSET, revs
192 # ParseError: wrongly placed tokens, wrongs arguments, etc 192 # ParseError: wrongly placed tokens, wrongs arguments, etc
193 # RepoLookupError: no such revision, e.g. in 'revision:' 193 # RepoLookupError: no such revision, e.g. in 'revision:'
194 # Abort: bookmark/tag not exists 194 # Abort: bookmark/tag not exists
195 # LookupError: ambiguous identifier, e.g. in '(bc)' on a large repo 195 # LookupError: ambiguous identifier, e.g. in '(bc)' on a large repo