[PATCH 2 of 6] [convert] Don't use long list comprehensions

David Soria Parra davidsp at fb.com
Wed Dec 7 16:21:30 EST 2016


# HG changeset patch
# User David Soria Parra <davidsp at fb.com>
# Date 1481139493 28800
#      Wed Dec 07 11:38:13 2016 -0800
# Node ID eca976dd5da759a1fb1a71c648624a240156adb9
# Parent  ade3103f5cf939007ca73af5e9e5853643dc8264
[convert] Don't use long list comprehensions

We are iterating over p4changes. Make the continue condition more clear
and easier to add new conditions in future patches, by removing the list
comprehension and move the condition into the existing for-loop.

diff --git a/hgext/convert/p4.py b/hgext/convert/p4.py
--- a/hgext/convert/p4.py
+++ b/hgext/convert/p4.py
@@ -126,14 +126,16 @@
 
         # handle revision limiting
         startrev = self.ui.config('convert', 'p4.startrev', default=0)
-        self.p4changes = [x for x in self.p4changes
-                          if ((not startrev or int(x) >= int(startrev)) and
-                              (not self.revs or int(x) <= int(self.revs[0])))]
 
         # now read the full changelists to get the list of file revisions
         ui.status(_('collecting p4 changelists\n'))
         lastid = None
         for change in self.p4changes:
+            if startrev and int(change) < int(startrev):
+                continue
+            if self.revs and int(change) > int(self.revs[0]):
+                continue
+
             cmd = "p4 -G describe -s %s" % change
             stdout = util.popen(cmd, mode='rb')
             d = marshal.load(stdout)


More information about the Mercurial-devel mailing list