Patchwork [1,of,8,v5] convert: don't use long list comprehensions

login
register
mail settings
Submitter David Soria Parra
Date Dec. 14, 2016, 8:09 p.m.
Message ID <506cb0034ebdbe85d2a7.1481746162@devbig415.prn1.facebook.com>
Download mbox | patch
Permalink /patch/17912/
State Accepted
Headers show

Comments

David Soria Parra - Dec. 14, 2016, 8:09 p.m.
# HG changeset patch
# User David Soria Parra <davidsp@fb.com>
# Date 1481694598 28800
#      Tue Dec 13 21:49:58 2016 -0800
# Node ID 506cb0034ebdbe85d2a7174d9214f833b3fed3fb
# Parent  76e77076e203fa0b42ff371c7a326580f27245cb
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.

Patch

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)