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

login
register
mail settings
Submitter Manuel Jacob
Date July 2, 2020, 12:52 a.m.
Message ID <97cae21cfbb7ba5ea6e8.1593651144@tmp.fritz.box>
Download mbox | patch
Permalink /patch/46610/
State Accepted
Headers show

Comments

Manuel Jacob - July 2, 2020, 12:52 a.m.
# HG changeset patch
# User Manuel Jacob <me@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.

Patch

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