Mercurial > kallithea
changeset 7973:ad8328c8ed40
vcs: fix get_changesets to .reverse() list of revision hashes in place instead of using reversed()
This is slightly more performant, and will also make CollectionGenerator work
with reverse=True. Before, CollectionGenerator was used on get_changesets, but
never with reverse option. Trying to use reverse, it would fail when applying
len():
TypeError: object of type 'listreverseiterator' has no len()
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Wed, 20 Nov 2019 23:49:40 +0100 |
parents | c80f87eed7b6 |
children | ae98ec548fd4 |
files | kallithea/lib/vcs/backends/git/repository.py kallithea/lib/vcs/backends/hg/repository.py |
diffstat | 2 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/lib/vcs/backends/git/repository.py Wed Nov 27 20:50:29 2019 +0100 +++ b/kallithea/lib/vcs/backends/git/repository.py Wed Nov 20 23:49:40 2019 +0100 @@ -572,7 +572,8 @@ revs = revs[start_pos:end_pos] if reverse: - revs = reversed(revs) + revs.reverse() + return CollectionGenerator(self, revs) def get_diff(self, rev1, rev2, path=None, ignore_whitespace=False,
--- a/kallithea/lib/vcs/backends/hg/repository.py Wed Nov 27 20:50:29 2019 +0100 +++ b/kallithea/lib/vcs/backends/hg/repository.py Wed Nov 20 23:49:40 2019 +0100 @@ -553,7 +553,7 @@ # would be to get rid of this function entirely and use revsets revs = list(revisions)[start_pos:end_pos] if reverse: - revs = reversed(revs) + revs.reverse() return CollectionGenerator(self, revs)