Mercurial > hg
changeset 42239:6770df6e4365
tags: avoid double-reversing a list
Differential Revision: https://phab.mercurial-scm.org/D6337
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 03 May 2019 12:32:00 -0700 |
parents | 32338e27bb9d |
children | 39b63f9d7464 |
files | mercurial/tags.py |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/tags.py Mon Mar 11 02:35:18 2019 +0100 +++ b/mercurial/tags.py Fri May 03 12:32:00 2019 -0700 @@ -90,7 +90,7 @@ unfi = repo.unfiltered() tonode = unfi.changelog.node nodes = [tonode(r) for r in revs] - fnodes = _getfnodes(ui, repo, nodes[::-1]) # reversed help the cache + fnodes = _getfnodes(ui, repo, nodes) fnodes = _filterfnodes(fnodes, nodes) return fnodes @@ -458,7 +458,8 @@ # This is the most expensive part of finding tags, so performance # depends primarily on the size of newheads. Worst case: no cache # file, so newheads == repoheads. - cachefnode = _getfnodes(ui, repo, repoheads) + # Reversed order helps the cache ('repoheads' is in descending order) + cachefnode = _getfnodes(ui, repo, reversed(repoheads)) # Caller has to iterate over all heads, but can use the filenodes in # cachefnode to get to each .hgtags revision quickly. @@ -473,7 +474,7 @@ starttime = util.timer() fnodescache = hgtagsfnodescache(repo.unfiltered()) cachefnode = {} - for node in reversed(nodes): + for node in nodes: fnode = fnodescache.getfnode(node) if fnode != nullid: cachefnode[node] = fnode