mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
revrange: build spanset from x:y range
This slightly improves the performance in the optimal case: % hg log -R mozilla-central -r0:tip -l1 --time (before) time: real 0.050 secs (user 0.040+0.000 sys 0.010+0.000) (after) time: real 0.020 secs (user 0.000+0.000 sys 0.010+0.000)
This commit is contained in:
parent
6bf5f80705
commit
d0b6a92234
@ -737,8 +737,10 @@ def revrange(repo, revs):
|
|||||||
end = revfix(repo, end, len(repo) - 1)
|
end = revfix(repo, end, len(repo) - 1)
|
||||||
if end == nullrev and start < 0:
|
if end == nullrev and start < 0:
|
||||||
start = nullrev
|
start = nullrev
|
||||||
rangeiter = repo.changelog.revs(start, end)
|
if start < end:
|
||||||
l = revset.baseset(rangeiter)
|
l = revset.spanset(repo, start, end + 1)
|
||||||
|
else:
|
||||||
|
l = revset.spanset(repo, start, end - 1)
|
||||||
subsets.append(l)
|
subsets.append(l)
|
||||||
continue
|
continue
|
||||||
elif spec and spec in repo: # single unquoted rev
|
elif spec and spec in repo: # single unquoted rev
|
||||||
|
Loading…
Reference in New Issue
Block a user