[PATCH 1 of 2] cleanup: use any() instead of checking truthiness of temporary list

Manuel Jacob me at manueljacob.de
Thu Jul 2 00:52:24 UTC 2020


# HG changeset patch
# User Manuel Jacob <me at manueljacob.de>
# Date 1593650775 -7200
#      Thu Jul 02 02:46:15 2020 +0200
# Node ID 97cae21cfbb7ba5ea6e8046ae45914520873eb97
# Parent  24b1a8eb73aa8203c94f0a168cb7ec27ea26cef9
# EXP-Topic cmdutil-cleanup
cleanup: use any() instead of checking truthiness of temporary list

It was not immediately obvious to me, when first seeing this, why a list was
created. It needed a second look to understand that the purpose was to check
whether the condition is true for any of the parents. Using any() for that is
clearer.

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -3437,9 +3437,9 @@
         not opts.get(b'amend')
         and bheads
         and node not in bheads
-        and not [
-            x for x in parents if x.node() in bheads and x.branch() == branch
-        ]
+        and not any(
+            x.node() in bheads and x.branch() == branch for x in parents
+        )
     ):
         repo.ui.status(_(b'created new head\n'))
         # The message is not printed for initial roots. For the other



More information about the Mercurial-devel mailing list