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)